perm filename KLDCPX.LST[KL,SYS] blob
sn#776611 filedate 1982-02-16 generic text, type T, neo UTF8
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 1
KLDCP PAL[KL,SYS] Page 1
1 COMMENT ⊗ VALID 00005 PAGES
2 C REC PAGE DESCRIPTION
3 C00001 00001
4 C00002 00002 DECSYSTEM10 KL10 PDP-11 DIAGNOSTIC CONSOLE PROGRAM
5 C00004 00003 ASSEMBLY PARAMETERS
6 C00008 00004 KLDCPU UTILITY PROGRAM PARAMETERS
7 C00009 00005 FUQ:: THIS IS HERE TO AVOID GETTING A "LOCAL TAG BEFORE
8 C00011 ENDMK
9 C⊗;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 2
KLDCP PAL[KL,SYS] Page 2
10 ;DECSYSTEM10 KL10 PDP-11 DIAGNOSTIC CONSOLE PROGRAM
11
12
13 000010 DECVER==010
14 000000 MCNVER==0
15 000007 SAILVR==7 ;STANFORD VERSION NUMBER. (DEFINING SAILVR MAKES STANFORD ASSEMBLY)
16
17
18 .TITLE KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10
19
20 .LIST MC,MD
21 ;.DSABL GBL
22 ;.DSABL REG
23 .ABS
24 ;.ENABL AMA
25
26 ;JOHN R. KIRCHOFF
27 ;DIGITAL EQUIPMENT CORPORATION
28 ;MARLBORO, MASS. 01752
29
30
31 ;[ NOTE: If you change SBST11, you should reassemble KLDCPU also! ]
32 ;Stanford Revision History.
33 ;
34 ;1 4/17/76 Convert to PALX
35 ;2 4/19/76 Install EPTREL switch
36 ; Fix LE,LT, etc. to use correct extension by default.
37 ;3 4/26/76 Add clock sub-functions 4,5
38 ;4 4/29/76 Make clock interrupt. Fix SET MONMOD.
39 ;5 5/11/76 Change clock subfunctions 4,5 for pdp-10 doubleword time
40 ;6 5/24/76 Add MIT code for MZ, PCF, DDT command, ST mods,
41 ; Also JBR's code for keeping DSKDMP BOOT in 11-core
42 ;7 4/29/80 JEP (Jim Powell) & REG to support ethernet and QM protocol
43 ; Through 7/80
44 ;8 1/12/81 Bugtrap and fixes to ethernet stuff. (TVR)
45 ;9 5/22/81 Ethernet input double buffered
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 3
KLDCP PAL[KL,SYS] Page 3
46 ;ASSEMBLY PARAMETERS
47
48 000001 KLDCP= 1 ;ASSEMBLE KLDCP
49 000001 DTEASB= 1 ;ASSEMBLE DTE20
50 000001 DTEDEF= 1 ;DEFINE DTE OFFSET ADDRESSES
51 000001 DVSASB= 1 ;ASSEMBLE DEVICE SERVICE
52 000001 KWASB= 1 ;ASSEMBLE KW CLOCK
53 000001 DLASB= 1 ;ASSEMBLE DL11
54 ;DHASB= 1 ;ASSEMBLE DH11
55 ;TAASB= 1 ;ASSEMBLE TA CASSETTE
56 ;RXASB= 1 ;ASSEMBLE RX11/RX01 FLOPPY
57 000001 TCASB= 1 ;ASSEMBLE TC DECTAPE
58 ;RPASB= 1 ;ASSEMBLE RP04 DISK PACK
59 ;LPASB= 1 ;ASSEMBLE LP20 LINE PRINTER
60 000001 EPTREL==1 ;ASSEMBLE EXAMINES/DEPOSITS FOR COMMUNICATIONS RELATIVE TO EPT
61 ;BPTASB==1 ;ASSEMBLE KLDCP TYPE BREAKPOINT STUFF
62 000001 BOOASB==1 ;ASSEMBLE DSKDMP BOOT STUFF
63 000001 %%DDT==1 ;ASSEMBLE TO ALLOW DDT TO COEXIST WITH KLDCP
64 000001 TELASB==1 ;ASSEMBLE DIALUP CONNECTION CODE, TURN OFF KLINIK FEATURE
65 000001 CLKASB==1 ;ASSEMBLE TCU-100 BATTERY CLOCK CODE
66 ;UTLASB==1 ;ASSEMBLE LINKAGES TO KLDCPU
67 ;MONASB==1 ;ASSEMBLE MONITOR TYPE COMMANDS (INCLUDES SOME ACT10 STUFF)
68 000001 %%QMP==1 ;Assemble queued message protocol,
69 ;front-end reloads from WAITS
70 ;ethernet support
71 ;;FSCASB==1 ;Assemble statistics for QMP free storage.
72 ;;PCKASB==1 ;Assemble checksumming of incoming PUPs (QMP11)
73
74 000010 $NB= 8. ;USE 8 BREAKPOINTS
75
76 ;SUBROUTINE CODE BEGINS AT 16K (WORDS)
77
78 100000 PRGSRT =16.*1024.*2.
79 160000 COREND =28.*1024.*2.
80
81 .IF DF %%DDT
82 077766 %DDTS==PRGSRT-12
83 003000 TOUTBF=3000 ;OVERLAY BUFFER DOWN WHERE DIAGS GO
84 .IFF
85 TOUTBF= 70000 ;OVERLAY BUFFER
86 .ENDC
87
88 ;PDP-10 ABSOLUTE CORE LOCATIONS:
89
90 000440 $STD= 440 ;PDP-10 DIAGNOSTIC START ADDRESS
91 000441 $DDT= 441 ;PDP-10 DDT START ADDRESS
92 000442 $STL= 442 ;PDP-10 LOADER START ADDRESS
93 000443 $STM= 443 ;PDP-10 MONITOR START ADDRESS
94
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 4
KLDCP PAL[KL,SYS] Page 3.1
95 ;PDP-10 KL10 EXEC PROCESS TABLE PARAMETERS.
96 ;IF EPTREL
97
98 000444 $DTFLG= 444 ;DTE20 OPERATION COMPLETE FLAG
99 000445 $DTCLK= 445 ;DTE20 CLOCK INTERRUPT FLAG
100 ;;$DTCI= 446 ;DTE20 CLOCK INTERRUPT INSTRUCTION (10 SOFTWARE ONLY)
101 .LIF DF CLKASB
102 000446 $DTTIME=446 ;DTE20 TIME AND DATE FROM BATTERY BACKUP CLOCK
103 000447 $DTT11= 447 ;DTE20 10 TO 11 ARGUMENT
104 000450 $DTF11= 450 ;DTE20 11 TO 10 ARGUMENT
105 000451 $DTCMD= 451 ;DTE20 TO 11 COMMAND WORD
106 000452 $DTSEQ= 452 ;DTE20 OPERATION SEQUENCE NUMBER (10 SOFTWARE ONLY. NOT USED)
107 000453 $DTOPR= 453 ;DTE20 OPERATION IN PROGRESS FLAG (10 SOFTWARE ONLY. NOT USED)
108 000454 $DTCHR= 454 ;DTE20 LAST KEY TYPED ON CTY
109 000455 $DTMTD= 455 ;DTE20 MONITOR TTY OUTPUT COMPLETE FLAG
110 000456 $DTMTI= 456 ;DTE20 MONITOR TTY INPUT FLAG
111 000457 $DTSWR= 457 ;DTE20 PDP-10 SWITCH REGISTER
112 000460 $DTQMP= 460 ;DTE20 11 TELLS 10 THE SIZE OF A TO10 TRANSFER
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 5
KLDCP PAL[KL,SYS] Page 4
113 ;KLDCPU UTILITY PROGRAM PARAMETERS
114
115 ;UTILITY IDENTIFICATION
116
117 003004 PID= 3004 ;PROGRAM NAME
118 003010 PDVER= 3010 ;DEC VERSION
119 003012 PMVER= 3012 ;MCN VERSION
120
121 ;UTILITY SUB-PROGRAM DISPATCH ADDRESSES
122
123 003020 PTABLE= 3020 ;START OF TABLE
124
125 003020 RXCOPY= 3020 ;RX11/RX01 FLOPPY COPY PROGRAM
126 003022 DTCOPY= 3022 ;TC11 DECTAPE COPY PROGRAM
127 003024 WFILE= 3024 ;WRITE FILE FROM DTA/RX TO RP04 PROGRAM
128 003026 TAPT= 3026 ;TRANSFER FILE FROM APT10 TO RP04 PROGRAM
129 003030 DSKDIR= 3030 ;RP04 DISK DIRECTORY
130 003032 REMOTE= 3032 ;REMOTE TELETYPE COMMUNICATIONS
131 001000 XMEMSZ==512. ;#OF K OF PDP-10 MEMORY TO ZERO IN MZ 0,-1 COMMAND
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 6
KLDCP PAL[KL,SYS] Page 5
132 FUQ:: ;THIS IS HERE TO AVOID GETTING A "LOCAL TAG BEFORE
133 ;FIRST LABEL" ERROR MESSAGE FROM PALX.
134 ;(THERE ARE MACRO DEFINITIONS WITH LOCAL TAGS IN THEM)
135
136 ;INSERT THE REST OF KLDCP
137
138 ;Parameters file
139 .INSRT PRM11.PAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 7
PRM11 PAL[KL,SYS] Page 1
140 COMMENT ⊗ VALID 00044 PAGES
141 C REC PAGE DESCRIPTION
142 C00001 00001
143 C00005 00002 .SBTTL *PRM11* DECSYSTEM10 PDP-11 PROGRAM/SUBROUTINE PARAMETERS, 4-AUG-75
144 C00007 00003 .SBTTL EMT DEFINITIONS
145 C00010 00004 TELETYPE OUTPUT DEFINITIONS
146 C00013 00005 MISCELLANEOUS FUNCTIONS
147 C00016 00006 COMMUNICATION ROUTINES
148 C00019 00007 DFXCT= EMT!114 DIAGNOSTIC FUNCTION EXECUTE
149 C00021 00008 .SBTTL MACRO DEFINITIONS
150 C00023 00009 BASIC MACROS
151 C00024 00010 .MACRO SL REG,NUM
152 C00025 00011 STANDARD PROGRAM ASSIGNMENTS
153 C00027 00012 BIT ASSIGNMENTS
154 C00028 00013 CHARACTERS USED
155 C00030 00014 .SBTTL DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
156 C00033 00015 BIT ASSIGNMENTS FOR 10/11 INTERFACE REGISTERS
157 C00036 00016 BIT ASSIGNMENTS FOR DIAG2 (WRITE)
158 C00038 00017 BIT ASSIGNMENTS FOR STATUS (WRITE)
159 C00041 00018 CLOCK CONTROL FUNCTIONS
160 C00043 00019 CRAM FUNCTIONS
161 C00045 00020 DATA PATH CONTROL FUNCTIONS
162 C00046 00021 .SBTTL KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
163 C00048 00022 MACRO TO GENERATE A RIGHT JUSTIFIED 3-BYTE VALUE
164 C00050 00023 THIS IS A MACRO TO WAIT FOR A DONE FLAG
165 C00052 00024 .SBTTL *BBD* DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 2-JAN-75
166 C00055 00025 THE FOLLOWING MACRO (DTEVEC) DYNAMICLY COMPUTES THE INTERRUPT
167 C00058 00026 BIT ASSIGNMENTS FOR DIAG1 (WRITE)
168 C00060 00027 BIT ASSIGNMENTS FOR STATUS (WRITE)
169 C00062 00028 FUNCTION SELECT CODES
170 C00064 00029 READ0 =110 PI (READ STATUS 0)
171 C00065 00030 .SBTTL *BBD* KL10 EBOX MACRO DEFINITIONS, 4-MAR-75
172 C00067 00031 MACRO TO GENERATE A RIGHT JUSTIFIED 3-BYTE VALUE
173 C00069 00032 THIS IS A MACRO TO WAIT FOR A DONE FLAG
174 C00071 00033 .SBTTL DEVICE SYMBOL DEFINITIONS, 4-JUNE-75
175 C00074 00034 .SBTTL KW11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
176 C00075 00035 .SBTTL DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
177 C00078 00036 .SBTTL DH11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
178 C00081 00037 BIT DEFINITIONS FOR "DHLPR"- LINE PARAMETER REGISTER.
179 C00083 00038 .SBTTL TA11 (CASSETTE) DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
180 C00085 00039 .SBTTL RX11/RX01 (FLOPPY) REGISTERS AND BIT DEFINITIONS, 22-JULY-75
181 C00087 00040 .SBTTL TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
182 C00089 00041 .SBTTL RH11/RP04 REGISTER AND BIT DEFINITIONS, 4-JUNE-75
183 C00092 00042 .SBTTL LP20 REGISTER AND BIT DEFINITIONS, 27-JUNE-75
184 C00095 00043 .SBTTL EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.
185 C00096 00044 DSKDMP BOOTSTRAP PARAMETERS
186 C00097 ENDMK
187 C⊗;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 8
PRM11 PAL[KL,SYS] Page 2 *PRM11* DECSYSTEM10 PDP-11 PROGRAM/SUBROUTINE PARAMETERS, 4-AUG-75
188 .SBTTL *PRM11* DECSYSTEM10 PDP-11 PROGRAM/SUBROUTINE PARAMETERS, 4-AUG-75
189
190 ;PROGRAM CONTROL SWITCHES
191
192 100000 ABORT= 100000 ;ABORT AT PROGRAM PASS COMPLETION
193
194 040000 RSTART= 40000 ;RESTART TEST
195 020000 TOTALS= 20000 ;PRINT TEST TOTALS
196 010000 NOPNT= 10000 ;INHIBIT ALL PRINT OUT (EXCEPT FORCED)
197
198 004000 PNTLPT= 4000 ;PRINT ON LINE-PRINTER
199 002000 DING= 2000 ;RING TTY BELL ON ERROR
200 001000 LOOPER= 1000 ;LOOP ON ERROR
201
202 000400 ERSTOP= 400 ;HALT ON ERROR
203 000200 PALERS= 200 ;PRINT ALL ERRORS
204 000100 RELIAB= 100 ;RELIABILITY RUN MODE
205
206 000040 TXTINH= 40 ;TEXT INHIBIT
207 000020 INHPAG= 20 ;INHIBIT PAGING (PDP-10)
208 000010 MODDVC= 10 ;MODIFY DEVICE CODE (PDP-10)
209
210 000004 INHCSH= 4 ;INHIBIT CACHE (PDP-10)
211 000002 OPRSEL= 2 ;OPERATOR SELECTION
212 000001 CHAIN= 1 ;CHAIN CONTROL SWITCH
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 9
PRM11 PAL[KL,SYS] Page 3 EMT DEFINITIONS
213 .SBTTL EMT DEFINITIONS
214 ;OPERATOR DEFINITION - SUBROUTINE CALLS
215
216 104000 FATAL= EMT!0 ;FATAL PROGRAMMING ERROR.
217 104001 ERRHLT= EMT!1 ;PROGRAM HALT, ONLY IF "ERSTOP" SWITCH SET
218 104002 PRGHLT= EMT!2 ;PROGRAM HALT, DON'T CHECK SWITCH
219 104003 RUNLP= EMT!3 ;CONSOLE IDLE RUN LOOP
220 104226 DFLEGAL=EMT!226 ;DIAGNOSTIC FUNCTION LEGALITY CHECK
221
222 ;TELETYPE INPUT DEFINITIONS
223 ; *** CALL SEQUENCE ***
224 ; TT----
225 ; RETURN, C BIT SET FOR NO/ERROR RESPONSE
226
227 104004 TTILIN= EMT!4 ;READ TTY LINE INPUT INTO BUFFER
228 104224 TTILNW= EMT!224 ;READ TTY LINE INPUT, WAIT FOREVER
229 104225 TTICCL= EMT!225 ;PROCESS TTY INPUT FROM INDIRECT CCL BUFFER
230 104005 TTICHR= EMT!5 ;INPUT A CHARACTER FROM BUFFER
231 104144 TTBACK= EMT!144 ;BACKUP INPUT POINTER
232 104006 TTLOOK= EMT!6 ;LOOK FOR A TTY INPUT
233 104007 TTIOCT= EMT!7 ;INPUT AN OCTAL NUMBER FROM BUFFER
234 104010 TTCOCT= EMT!10 ;INPUT & CHECK OCTAL, RTN IF OK
235 104200 TTOCTE= EMT!200 ;INPUT EVEN OCTAL NUMBER
236 104011 TTIDEC= EMT!11 ;INPUT A DECIMAL NUMBER FROM BUFFER
237 104012 TTIYES= EMT!12 ;ASK YES-NO, N BIT ON NO, C BIT SET ON ERROR
238 104013 TTALTM= EMT!13 ;ALT-MODE CHECK, C BIT SET IF NON-ALT-MODE
239 104014 TTI36= EMT!14 ;READ 36 DIGIT NUMBER FROM BUFFER
240 104015 TTIBRK= EMT!15 ;GET NUMBER INPUT BREAK CHARACTER
241 104016 TTISDL= EMT!16 ;SPACE DELETE, C BIT SET ON NON-NUMBER
242 104017 TTISDO= EMT!17 ;SPACE DELETE & OCTAL INPUT, RTN IF OK
243 104020 TTIS36= EMT!20 ;SPACE DELETE & 36BIT INPUT, RTN IF OK
244 104021 TTICRA= EMT!21 ;INPUT C-RAM ADDRESS
245 104022 TTITRM= EMT!22 ;CHECK INPUT TERMINATOR, RTN IF OK
246 104023 TTBTRM= EMT!23 ;BACKUP, THEN "
247 104201 TTERM= EMT!201 ;NUMBER TERMINATION CHECK, C BIT SET IF ERROR
248 104217 TTPINI= EMT!217 ;INITIALIZE INPUT & OUTPUT BUFFER POINTERS
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 10
PRM11 PAL[KL,SYS] Page 4 EMT DEFINITIONS
249 ;TELETYPE OUTPUT DEFINITIONS
250 ; *** CALL SEQUENCE ***
251 ; MOV ARG,R0 ;IF CALL REQUIRES AN ARGUMENT
252 ; P-----
253
254 104024 PNTAL= EMT!24 ;PRINT ASCII LINE, ADDRESS IN R0
255 104025 $PMSG= EMT!25 ;PRINT MESSAGE, TRAILING PARAMETER
256 104026 $PMSGR= EMT!26 ;PRINT MESSAGE, CONDITIONAL ON "RPTFLG"
257 104027 PNTCHR= EMT!27 ;PRINT ASCII CHARACTER IN R0
258 104214 PNTCI= EMT!214 ;PRINT CHAR IMMEDIATE, TRAILING CHARS
259 104030 PNTNBR= EMT!30 ;PRINT NUMBER
260 104031 PCRLF= EMT!31 ;PRINT CR-LF
261 104032 PSPACE= EMT!32 ;PRINT A SPACE
262 104033 PSLASH= EMT!33 ;PRINT A SLASH
263 104034 PCOMMA= EMT!34 ;PRINT A COMMA
264 104227 PTAB= EMT!227 ;PRINT A TAB
265 104035 PNTOCT= EMT!35 ;PRINT OCTAL NUMBER IN R0
266 104036 PNTOCS= EMT!36 ;PRINT OCTAL IN R0, SUPPRESS LEADING ZEROS
267 104037 PNTDEC= EMT!37 ;PRINT DECIMAL NUMBER IN R0
268 104040 PNT18= EMT!40 ;PRINT LOWER 18 OF 36 BIT NUMBER
269 104041 PNT23= EMT!41 ;PRINT LOWER 23 BITS OF 36 BIT NUMBER
270 104041 PNT22= EMT!41 ; " OLD PNT23 "
271 104042 PNT36= EMT!42 ;PRINT 36 BIT NUMBER, ADDRESS IN R0
272 104134 PNT36B= EMT!134 ;PRINT 36 BIT NUMBER IN BINARY
273 104137 PNTADR= EMT!137 ;PRINT PDP-10 ADDRESS
274 104043 PFORCE= EMT!43 ;SET FORCED PRINTOUT FLAG
275 104044 PNORML= EMT!44 ;CLEAR FORCED PRINTOUT FLAG
276 104045 PBELL= EMT!45 ;DING THE TTY BELL
277 104046 PNTODC= EMT!46 ;PRINT SPECIFIED OCTAL DIGITS
278 104047 PNTODT= EMT!47 ;PRINT SPECIFIED DIGITS, TRAILING PARAMETER
279
280 104151 PRINTT= EMT!151 ;PRINT, TTY OUTPUT
281 104152 PTTY= EMT!152 ;PRINT, TTY DRIVER
282 104153 PLPT= EMT!153 ;PRINT, LPT DRIVER
283 104154 PLDBUF= EMT!154 ;PRINT, LOAD BUFFER
284
285 104177 PNTBAK= EMT!177 ;PRINT, BACKUP OUTPUT INSERTION POINTER
286
287 104215 PNTRST= EMT!215 ;PRINT, OUTPUT POINTERS RESET
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 11
PRM11 PAL[KL,SYS] Page 5 EMT DEFINITIONS
288 ;MISCELLANEOUS FUNCTIONS
289
290 104050 REGSAV= EMT!50 ;SAVE R0 THRU R5
291 104051 REGRST= EMT!51 ;RESTORE R0 THRU R5
292 104053 SHIFTR= EMT!53 ;SHIFT R0 RIGHT, TRAILING PARAMETER
293 104054 SHIFTL= EMT!54 ;SHIFT R0 LEFT, TRAILING PARAMETER
294 104146 PROL36= EMT!146 ;ROTATE LEFT 36 BITS
295 104055 SETFLG= EMT!55 ;SET -1 TO FLAG, TRAILING PARAMETER
296 104072 MULTPY= EMT!72 ;MULTIPLY
297 104056 TDELAY= EMT!56 ;SMALL DELAY
298 104057 SWITCH= EMT!57 ;READ THE SWITCH REGISTER, RETURNED IN R0
299 104060 SWTSAM= EMT!60 ;RETURN PRESENT STORED SWITCHES IN R0
300
301 104061 EOP= EMT!61 ;END OF PASS ROUTINE, RETURNS IF NOT COMPLETED
302 104062 ERREOP= EMT!62 ;ERROR END OF PASS
303 104063 EOPSET= EMT!63 ;SET END OF PASS PRINTOUT INTERVAL
304
305 ;DEVICE ROUTINES
306
307 104206 NAMEXT= EMT!206 ;FILE NAME.EXT PROCESS
308 104207 DTAFILE=EMT!207 ;DECTAPE FILE SELECTION
309 104210 RPFILE= EMT!210 ;RP04 FILE SELECTION
310 104155 R50UPK= EMT!155 ;RAD50 TO ASCII UNPACK
311 104165 ASCR50= EMT!165 ;ASCII TO RAD50 CONVERSION
312 104156 DTINIT= EMT!156 ;DECTAPE INITIALIZATION
313 104157 RPINIT= EMT!157 ;RP04 INITIALIZATION
314 104166 RPLOAD= EMT!166 ;RP04 LOAD PACK
315 104160 DVDATA= EMT!160 ;DEVICE DATA BLOCK READ
316 104211 DTRDFL= EMT!211 ;DECTAPE READ FILE
317 104212 DTWTFL= EMT!212 ;DECTAPE WRITE FILE
318 104213 DTBASE= EMT!213 ;RETURN DECTAPE PARAMETER BASE ADDRESS
319 104161 DTREAD= EMT!161 ;DECTAPE READ
320 104205 DTWRT= EMT!205 ;DECTAPE WRITE
321 104167 RPFIND= EMT!167 ;RP04 FIND FILE
322 104170 RPLKUP= EMT!170 ;RP04 FILE DIRECTORY LOOKUP
323 104171 RPRDFL= EMT!171 ;RP04 READ FILE
324 104172 RPWRFL= EMT!172 ;RP04 WRITE FILE
325 104162 RPREAD= EMT!162 ;RP04 READ
326 104173 RPWRIT= EMT!173 ;RP04 WRITE
327 104174 RPADDR= EMT!174 ;RP04 ADDRESS CALCULATION
328 104175 RPBASE= EMT!175 ;RETURN RP04 PARAMETER BLOCK BASE ADDRESS
329 104237 RPERROR=EMT!237 ;RP04 ERROR REPORTER
330 104163 DVFRAM= EMT!163 ;DEVICE DATA FRAME READ
331 104164 DVWRD= EMT!164 ;DEVICE WORD READ
332 104230 RXFILE= EMT!230 ;RX11/RX01 FLOPPY FILE SELECTION
333 104231 RXINIT= EMT!231 ; FLOPPY INITIALIZATION
334 104232 RXRDFL= EMT!232 ; FLOPPY READ FILE
335 104233 RXWTFL= EMT!233 ; FLOPPY WRITE FILE
336 104234 RXBASE= EMT!234 ; FLOPPY PARAMETER BLOCK BASE ADDRESS
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 12
PRM11 PAL[KL,SYS] Page 5.1 EMT DEFINITIONS
337 104235 RXREAD= EMT!235 ; FLOPPY READ
338 104236 RXWRT= EMT!236 ; FLOPPY WRITE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 13
PRM11 PAL[KL,SYS] Page 6 EMT DEFINITIONS
339 ;COMMUNICATION ROUTINES
340
341 .IF DF MONASB
342 COMCMD= EMT!220 ;COMMUNICATIONS COMMAND
343 COMRTRY=EMT!221 ;COMMUNICATIONS COMMAND RETRY
344 COMENQ= EMT!222 ;COMMUNICATIONS ENQUIRY
345 COMEOT= EMT!223 ;COMMUNICATIONS END OF TRANSMISSION
346 COMLIN= EMT!64 ;COMMUNICATIONS LINE INPUT
347 COMSND= EMT!65 ;COMMUNICATIONS LINE OUTPUT
348 COMACK= EMT!66 ;COMMUNICATIONS ACKNOWLEDGE
349 COMNAK= EMT!67 ;COMMUNICATIONS NEGATIVE ACKNOWLEDGE
350 COMCLR= EMT!70 ;COMMUNICATIONS CLEAR
351 COMCTL= EMT!71 ;COMMUNICATIONS CONTROL SEQUENCE
352 .ENDC
353
354 ;KL10 ROUTINES
355
356 104073 WCRAM= EMT!73 ;WRITE IN TO C-RAM
357 104074 RCRAM= EMT!74 ;READ THE C-RAM
358 104075 WWADR= EMT!75 ;WRITE C-RAM ADDRESS
359 104203 MICNUL= EMT!203 ;C-RAM FILL WITH 0'S
360 104204 MICFIL= EMT!204 ;C-RAM FILL WITH 1'S
361
362 104076 MRESET= EMT!76 ;MASTER RESET
363
364 104145 TENSW= EMT!145 ;PDP-10 SWITCHES
365
366 104077 TENSP= EMT!77 ;TURN OFF TEN RUNNING
367
368 104176 TENCHR= EMT!176 ;PDP-10 LAST TYPED CHARACTER
369
370 104100 SM= EMT!100 ;START MACHINE
371 104101 EXCT= EMT!101 ;EXECUTE PDP10 INSTR, REQUIRES SM
372 104102 LODAR= EMT!102 ;SPECIAL AR LOAD FOR EXCT AND MBOX TEST
373 104147 SETMPH= EMT!147 ;SET M-BOX PHASE
374
375 104135 ECLOK= EMT!135 ;E BOX CLOCK
376 104136 ESYNC= EMT!136 ;E BOX SYNC
377
378 104103 EXAM= EMT!103 ;EXAMINE 10 MEMORY
379 104104 EXAMT= EMT!104 ;EXAMINE 10 MEMORY, TRAILING PARAMETERS
380 104105 DPOS= EMT!105 ;DEPOSIT INTO 10 MEMORY
381 104106 DPOST= EMT!106 ;DEPOSIT INTO 10 MEMORY, TRAILING PARAMETERS
382 104107 DPOSVR= EMT!107 ;DEPOSIT AND VERIFY 10 MEMORY
383 104110 DPOSVT= EMT!110 ;DEPOSIT AND VERIFY 10 MEMORY, TRAILING PARAMETERS
384 104111 D10MON= EMT!111 ;DEPOSIT -1 INTO 10 FLAG WORD
385 104112 D10ZRO= EMT!112 ;PDP-10 MEMORY ZERO
386
387 104052 CMPR36= EMT!52 ;COMPARE 5 BYTE 36-BIT WORD
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 14
PRM11 PAL[KL,SYS] Page 6.1 EMT DEFINITIONS
388
389 104113 DTEBAS= EMT!113 ;RETURN DTE20 BASE ADDRESS
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 15
PRM11 PAL[KL,SYS] Page 7 EMT DEFINITIONS
390 104114 DFXCT= EMT!114 ;DIAGNOSTIC FUNCTION EXECUTE
391 104115 DFXCTT= EMT!115 ;DF EXECUTE, TRAILING PARAMETER
392
393 104116 DFRD= EMT!116 ;DIAGNOSTIC FUNCTION READ
394 104140 DFRDT= EMT!140 ;DF READ, TRAILING PARAMETER
395 104117 DFRDMV= EMT!117 ;DIAGNOSTIC FUNCTION READ & MOVE
396
397 104120 DFWRT= EMT!120 ;DIAGNOSTIC FUNCTION WRITE
398 104141 DFWRTT= EMT!141 ;DF WRITE, TRAILING PARAMETERS
399 104121 DFWIR= EMT!121 ;DIAGNOSTIC FUNCTION WRITE IR
400
401 104122 DFSCLK= EMT!122 ;DIAGNOSTIC FUNCTION, SINGLE STEP CLOCK
402
403 104123 DFPC= EMT!123 ;DIAGNOSTIC FUNCTION READ PC
404 104124 DFVMA= EMT!124 ;DIAGNOSTIC FUNCTION READ VMA
405 104125 DFADB= EMT!125 ;DIAGNOSTIC FUNCTION READ ADDRESS BREAK
406 104150 DFVMAH= EMT!150 ;DIAGNOSTIC FUNCTION READ VMA HELD
407
408 104126 RDRAM= EMT!126 ;READ D-RAM
409 104127 WDRAM= EMT!127 ;WRITE D-RAM
410 104130 DRAMAD= EMT!130 ;SELECT D-RAM ADDRESS
411
412 104202 CLKPRM= EMT!202 ;RETURN ADDRESS OF "CLKDFL" WORD
413
414 104131 BURST= EMT!131 ;BURST M-BOX CLOCK
415
416 104132 PNTCPU= EMT!132 ;PRINT CPU, C-RAM & REGISTERS
417
418 104142 PNTCRM= EMT!142 ;PRINT C-RAM, LOGICAL FIELD FORMAT
419
420 104143 PNTDRM= EMT!143 ;PRINT D-RAM, LOGICAL FIELD FORMAT
421
422 104133 PRGCMD= EMT!133 ;PROGRAM COMMAND
423
424 104216 PRGNPT= EMT!216 ;PROGRAM COMMAND, NO PRINT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 16
PRM11 PAL[KL,SYS] Page 8 MACRO DEFINITIONS
425 .SBTTL MACRO DEFINITIONS
426
427 144720 .IIF P2, $$CLIT==$$LITT ;LITERAL STORAGE ASSIGNMENT
428 .IELSE $$CLIT==2000
429
430 .MACRO PMSG $ARG
431 $PMSG
432 $$CLIT
433 .NLIST SRC
434 $$CLC=.
435 .=$$CLIT
436 .ASCIZ ↔$ARG↔
437 $$CLIT=.
438 .=$$CLC
439 .LIST SRC
440 .ENDM
441
442 .MACRO PMSGR $ARG
443 $PMSGR
444 $$CLIT
445 .NLIST SRC
446 $$CLC=.
447 .=$$CLIT
448 .ASCIZ ↔$ARG↔
449 $$CLIT=.
450 .=$$CLC
451 .LIST SRC
452 .ENDM
453
454 .MACRO PNTMSG $ARG
455 MOV #$$CLIT,R0
456 PNTAL
457 .NLIST SRC
458 $$CLC=.
459 .=$$CLIT
460 .ASCIZ ↔$ARG↔
461 .EVEN
462 $$CLIT=.
463 .=$$CLC
464 .LIST SRC
465 .ENDM
466
467 .MACRO EXIT
468 JMP $EXIT
469 .ENDM
470
471 .MACRO EXITSKP
472 JMP $EXITS
473 .ENDM
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 17
PRM11 PAL[KL,SYS] Page 8.1 MACRO DEFINITIONS
474
475 .MACRO EXITERR
476 JMP $EXITE
477 .ENDM
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 18
PRM11 PAL[KL,SYS] Page 9 MACRO DEFINITIONS
478 ;BASIC MACROS
479
480 .MACRO PUSH A
481 .NLIST SRC
482 .IRP B,<A>
483 MOV B,-(SP) ;PUSH B ON STACK
484 .ENDM
485 .LIST SRC
486 .ENDM
487
488 .MACRO POP A
489 .NLIST SRC
490 .IRP B,<A>
491 MOV (SP)+,B ;POP STACK INTO B
492 .ENDM
493 .LIST SRC
494 .ENDM
495
496 .MACRO MULT SOURCE,REG
497 PUSH SOURCE
498 PUSH REG
499 MULTPY
500 POP REG
501 .NTYPE X,REG
502 .IF EQ X&1
503 .IFT
504 POP REG+1
505 .IFF
506 INC SP
507 INC SP
508 .ENDC
509 .ENDM
510
511 .MACRO .LIT $LTAG,$LARG
512 $$CLC=.
513 .=$$CLIT
514 .EVEN
515 $LTAG=.
516 .IIF B <$LARG>,0
517 .IIF NB <$LARG>,$LARG
518 .EVEN
519 $$CLIT=.
520 .=$$CLC
521 .ENDM
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 19
PRM11 PAL[KL,SYS] Page 10 MACRO DEFINITIONS
522 .MACRO SL REG,NUM
523 .NLIST SRC
524 .IF GT NUM-7
525 .IFT
526 SWAB REG
527 .REPT NUM-8.
528 ASL REG
529 .ENDR
530 .IFF
531 .REPT NUM
532 ASL REG
533 .ENDR
534 .ENDC
535 .LIST SRC
536 .ENDM
537
538 .MACRO SR REG,NUM
539 .NLIST SRC
540 .IF GT NUM-7
541 .IFT
542 SWAB REG
543 .REPT NUM-8
544 ASR REG
545 .ENDR
546 .IFF
547 .REPT NUM
548 ASR REG
549 .ENDR
550 .ENDC
551 .LIST SRC
552 .ENDM
553
554 .MACRO EXOR REG,DESTIN,SCRTCH
555 .IF NB SCRTCH
556 .IFT
557 MOV REG,SCRTCH
558 BIC DESTIN,SCRTCH
559 BIC REG,DESTIN
560 BIS SCRTCH,DESTIN
561 .IFF
562 MOV REG,-(SP)
563 BIC DESTIN,(SP)
564 BIC REG,DESTIN
565 BIS (SP)+,DESTIN
566 .ENDC
567 .ENDM
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 20
PRM11 PAL[KL,SYS] Page 11 MACRO DEFINITIONS
568 ;STANDARD PROGRAM ASSIGNMENTS
569
570 .IIF NDF STACK, STACK==157776 ;INITIAL STACK POINTER
571 .IIF NDF CONSOL,CONSOL==100000 ;CONSOLE START ADDRESS
572
573 000001 CBIT= 1 ;CARRY BIT
574 000010 NBIT= 10 ;NEGATIVE BIT
575 000004 ZBIT= 4 ;ZERO BIT
576 000002 VBIT= 2 ;OVERFLOW BIT
577 000020 TBIT= 20 ;TRAP BIT
578
579 ;REGISTER DEFINITIONS
580
581 000000 R0= %0 ;GENERAL REGISTERS
582 000001 R1= %1
583 000002 R2= %2
584 000003 R3= %3
585 000004 R4= %4
586 000005 R5= %5
587 000006 R6= %6
588 000006 SP= %6 ;STACK POINTER
589 000007 PC= %7 ;PROGRAM COUNTER
590
591 ;PDP11/40 STANDARD TRAP VECTOR ASSIGNMENTS
592
593 000000 RESVED= 0 ;RESERVED
594 000004 ERRVEC= 4 ;TIME OUT, BUS ERROR
595 000010 RESVEC= 10 ;RESERVED INSTRUCTION
596 000014 TRTVEC= 14 ;BREAK POINT VECTOR
597 000014 TBITVEC=14
598 000014 BPTVEC= 14
599 000020 IOTVEC= 20 ;IOT TRAP VECTOR
600 000024 PWRVEC= 24 ;POWER FAIL TRAP VECTOR
601 000030 EMTVEC= 30 ;EMT TRAP VECTOR
602 000034 TRAPVEC=34 ;"TRAP" TRAP VECTOR
603 000060 TKVEC= 60 ;TTY KEYBOARD VECTOR
604 000064 TPVEC= 64 ;TTY PRINTER VECTOR
605 000260 TA11= 260 ;CASSETTE TAPE READER
606 000214 TC11= 214 ;DECTAPE VECTOR
607
608 ;PDP11/40 STANDARD ADDRESS ASSIGNMENTS
609
610 177776 PS= 177776 ;CPU STATUS
611 177774 STKLMT= 177774 ;STACK LIMIT
612 177570 SWR= 177570 ;CONSOLE SWITCH REGISTER
613 177566 TTODBR= 177566 ;TTY OUT DBR
614 177564 TTOCSR= 177564 ;TTY OUT CSR
615
616 177562 TTIDBR= 177562 ;TTY IN DBR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 21
PRM11 PAL[KL,SYS] Page 11.1 MACRO DEFINITIONS
617 177560 TTICSR= 177560 ;TTY IN CSR
618
619 174200 XORCR= 174200
620 174202 XORSR= 174202
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 22
PRM11 PAL[KL,SYS] Page 12 MACRO DEFINITIONS
621 ;BIT ASSIGNMENTS
622
623 000001 BIT00= 1
624 000001 BIT0= BIT00
625 000002 BIT01= 2
626 000002 BIT1= BIT01
627 000004 BIT02= 4
628 000004 BIT2= BIT02
629 000010 BIT03= 10
630 000010 BIT3= BIT03
631 000020 BIT04= 20
632 000020 BIT4= BIT04
633 000040 BIT05= 40
634 000040 BIT5= BIT05
635
636 000100 BIT06= 100
637 000100 BIT6= BIT06
638 000200 BIT07= 200
639 000200 BIT7= BIT07
640 000400 BIT08= 400
641 000400 BIT8= BIT08
642
643 001000 BIT09= 1000
644 001000 BIT9= BIT09
645 002000 BIT10= 2000
646 004000 BIT11= 4000
647
648 010000 BIT12= 10000
649 020000 BIT13= 20000
650 040000 BIT14= 40000
651
652 100000 BIT15= 100000
653
654 ;PRIORITY ASSIGNMENTS
655
656 000000 PR0= 000
657 000040 PR1= 040
658 000100 PR2= 100
659 000140 PR3= 140
660 000200 PR4= 200
661 000240 PR5= 240
662 000300 PR6= 300
663 000340 PR7= 340
664
665 000140 .IIF DF SAILVR, CPUPR==PR3 ;CLOCK AND DL11E INTERRUPTS ARE PERMITTED
666 .IIF NDF SAILVR, CPUPR==PR7
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 23
PRM11 PAL[KL,SYS] Page 13 MACRO DEFINITIONS
667 ;CHARACTERS USED
668
669 000030 MSWCHR= 030 ; MONITOR TO "KLDCP" SWITCH CHAR, CONTROL X
670 000000 TEXTERM=0 ; TERMINATES TEXT
671 000011 TAB= 11 ; TAB
672 000011 CNTRLI= 11 ; CONTROL-I (TAB)
673 000012 LF= 12 ; LINE FEED
674 000013 VT= 13 ; VERTICAL TAB
675 000014 FF= 14 ; FORM FEED
676 000015 CR= 15 ; CARRIAGE RETURN
677 000007 BELL= 7 ; BELL
678 000040 BLANK= 40 ; BLANK (SPACE)
679 000040 SPACE= 40 ; SPACE
680 000054 COMMA= 54 ; COMMA
681 000057 SLASH= 57 ; SLASH
682 000134 BKSLH= 134 ; BACK SLASH
683 000137 BKARW= 137 ; BACK ARROW
684 000023 XOFF= 023 ; X-OFF (CONTROL S)
685 000021 XON= 021 ; X-ON (CONTROL Q)
686 000017 CNTRLO= 017 ; CONTROL O
687 000025 CNTRLU= 025 ; CONTROL U
688 000001 CNTRLA= 001 ; CONTROL A
689 000003 CNTRLC= 003 ; CONTROL C
690 000004 CNTRLD= 004 ; CONTROL D
691 000013 CNTRLK= 013 ; CONTROL K
692 000014 CNTRLL= 14 ; CONTROL L
693 000022 CNTRLR= 022 ; CONTROL R
694 000024 CNTRLT= 024 ; CONTROL T
695 000030 CNTRLX= 030 ; CONTROL X
696 000032 CNTRLZ= 032 ; CONTROL Z
697 000177 RUBOUT= 177 ; RUB OUT
698 000033 ALTMOD= 33 ; ALTMODE
699 000027 ETB= 27 ; END OF TRANSMISSION BLOCK (CONTROL W)
700 .IF NDF SAILVR
701 NULL= 026 ; NULL FILLER CHAR
702 .IFF
703 000000 NULL= 000
704 .ENDC
705 000001 SYN= 001 ; COMMUNICATIONS SYNC CHAR (CONTROL A)
706
707 ;.NLIST
708 .IF DF DTEASB
709 ;.LIST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 24
PRM11 PAL[KL,SYS] Page 14 DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
710 .SBTTL DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
711
712 174400 DTEADR= 174400 ;ADDRESS OF (FIRST) DTE20 DEVICE REGISTER BLOCK
713 000040 DTESIZ= 000040 ;SPACING BETWEEN CONSECUTIVE DTE20'S
714 000004 DTEMAX= 4 ;MAXIMUM NUMBER OF DTE20'S ON ONE PDP-11
715 000005 DTESZS= 5 ;SHIFT TO CONVERT DTE ADDRESS TO DTE #
716
717 .IF DF DTEDEF
718 ;OFFSETS FROM THE BASE OF THE DTE20 DEVICE REGISTER BLOCK
719 ;TO SPECIFIC 10/11 INTERFACE RAM LOCATIONS AND REGISTERS.
720
721 ; THE FIRST 12 REGISTERS ARE NOT INITIALIZED BY "INIT" (BECAUSE THEY ARE IN RAMS)
722
723 000000 DLYCNT= 00 ;DELAY COUNT (ADDRESS XXXX00)
724 000002 DEXWD3= 02 ;DEPOSIT OR EXAMINE WORD 3 (ADDRESS XXXX02)
725 000004 DEXWD2= 04 ;DEPOSIT OR EXAMINE WORD 2 (ADDRESS XXXX04)
726 000006 DEXWD1= 06 ;DEPOSIT OR EXAMINE WORD 1 (ADDRESS XXXX06)
727 000010 TENAD1= 10 ;10 ADDRESS WORD 1 FOR DEX (ADDRESS XXXX10)
728 000012 TENAD2= 12 ;10 ADDRESS WORD 2 FOR DEX (ADDRESS XXXX12)
729 000014 TO10BC= 14 ;TO10 BYTE COUNT (ADDRESS XXXX14)
730 000016 TO11BC= 16 ;TO11 BYTE COUNT (ADDRESS XXXX16)
731 000020 TO10AD= 20 ;TO10 PDP11 MEMORY ADDRESS (ADDRESS XXXX20)
732 000022 TO11AD= 22 ;TO11 PDP11 MEMORY ADDRESS (ADDRESS XXXX22)
733 000024 TO10DT= 24 ;TO10 PDP11 DATA WORD (ADDRESS XXXX24)
734 000026 TO11DT= 26 ;TO11 PDP11 DATA WORD (ADDRESS XXXX26)
735
736 ; THE LAST 4 REGISTERS ARE INITIALIZED BY "INIT" (BECAUSE THEY ARE IN FLIP-FLOPS)
737
738 000030 DIAG1= 30 ;DIAGNOSTIC WORD 1 (ADDRESS XXXX30)
739 000032 DIAG2= 32 ;DIAGNOSTIC WORD 2 (ADDRESS XXXX32)
740 000034 STATUS= 34 ;10/11 INTERFACE STATUS WORD (ADDRESS XXXX34)
741 000036 DIAG3= 36 ;DIAGNOSTIC WORD 3 (ADDRESS XXXX36)
742 .ENDC
743
744 ; THE FOLLOWING ARE THE ADDRESSES OF THE DTE20 INTERRUPT VECTORS
745
746 000774 DTEIV0= 774 ;INTERRUPT VECTOR FOR DTE20 #0
747 000770 DTEIV1= 770 ;INTERRUPT VECTOR FOR DTE20 #1
748 000764 DTEIV2= 764 ;INTERRUPT VECTOR FOR DTE20 #2
749 000760 DTEIV3= 760 ;INTERRUPT VECTOR FOR DTE20 #3
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 25
PRM11 PAL[KL,SYS] Page 15 DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
750 ;BIT ASSIGNMENTS FOR 10/11 INTERFACE REGISTERS
751
752 ;BIT ASSIGNMENTS FOR TENAD1
753
754 100000 PHYS= BIT15 ;EXAMINE/DEP PHYSICAL ADDRESS
755 060000 USEVIR= BIT14!BIT13 ;EX/DP USER VIRTUAL ADDRESS
756 040000 XUPT= BIT14 ;EX/DP VIA USER PROCESS TABLE
757 020000 EXVIRT= BIT13 ;EX/DP EXEC VIRTUAL ADDRESS
758 010000 DEP= BIT12 ;MODE BIT FOR DEPOSIT (0=EXAMINE)
759 004000 PRTOFF= BIT11 ;PROTECT OFF
760 000000 XEPT= 0 ;EX/DP VIA EXEC PROCESS TABLE
761
762 ;BIT ASSIGNMENTS FOR TO11BC
763
764 100000 INT10= BIT15 ;SET DONE AND INTERRUPT BOTH 10 AND 11
765 040000 ZSTOP= BIT14 ;STOP ON NULL (ZERO) CHARACTER
766 020000 BYTE2= BIT13 ;TWO EIGHT BIT BYTES PER WORD
767 020000 TO11BM= BIT13 ;TO-11 BYTE MODE
768
769 ;BIT ASSIGNMENTS FOR DIAG1 (WRITE)
770
771 100000 DS00= BIT15 ;DIAGNOSTIC STATUS
772 040000 DS01= BIT14 ; "
773 020000 DS02= BIT13 ; "
774 010000 DS03= BIT12 ; "
775 004000 DS04= BIT11 ; "
776 002000 DS05= BIT10 ; "
777 001000 DS06= BIT9 ; "
778 000200 DFUNC= BIT7 ;DOING DIAGNOSTIC FUNCTION (DFRD,DFWRT,DFXCT)
779 000060 PULSE= BIT4!BIT5 ;SINGLE PULSE THE 10/11 CLOCK (ALSO SETS
780 ;10/11 DIAGNOSTIC MODE)
781 000001 DCOMST= BIT0 ;DIAGNOSTIC COMMAND START
782 000001 DCSRT= BIT0 ;DIAGNOSTIC COMMAND START (NEW NAME FOR DCOMST)
783 000004 DSEND= BIT2 ;SEND THE EBUS DURING DIAGNOSTIC FUNCTION
784 000010 DIKL10= BIT3 ;KL10 DIAGNOSTIC MODE
785 000040 D1011= BIT5 ;10/11 INTERFACE DIAGNOSTIC MODE
786
787 ;BIT ASSIGNMENTS FOR DIAG1 (READ)
788
789 000200 TO10= BIT7 ;INTERFACE MAJOR STATE = TO10 TRANSFER
790 000400 DEX= BIT8 ; " " " = DEPOSIT OR EXAMINE
791 000100 TO11= BIT6 ; " " " = TO11 TRANSFER
792 000020 VEC04= BIT4 ;VECTOR INTERRUPT ADDRESS BIT 4
793 000010 VEC03= BIT3 ; " " " " 3
794 000004 VEC02= BIT2 ; " " " " 2
795 001000 HALTLP= BIT9 ;EBOX IS IN HALT LOOP
796 002000 KLRUN= BIT10 ;RUN FLOP, KL IS EXECUTING INSTRUCTIONS
797 004000 ERRSTP= BIT11 ;EBOX CLOCK STOPPED DUE TO ERROR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 26
PRM11 PAL[KL,SYS] Page 16 DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
798 ;BIT ASSIGNMENTS FOR DIAG2 (WRITE)
799
800 040000 EDONES= BIT14 ;SET EBUS DONE
801 000100 DRESET= BIT6 ;PERFORM DIAGNOSTIC CLEAR
802
803 ;BIT ASSIGNMENTS FOR DIAG2 (READ)
804
805 ;BIT ASSIGNMENTS FOR DIAG3 (WRITE)
806
807 000040 SCD= BIT5 ;SHIFT CAPTURED DATA (PARITY ERROR DATA)
808 000020 CDD= BIT4 ;CLEAR DUPE & DURE ERROR FLAGS
809 000010 WEP= BIT3 ;WRITE EVEN (BAD) PARITY
810 000002 CNUPE= BIT1 ;CLEAR NUPE
811 000001 TO10BM= BIT0 ;TO-10 TRANSFER BYTES FROM THE 11
812
813 ;BIT ASSIGNMENTS FOR DIAG3 (READ)
814
815 100000 RFMAD0= BIT15 ;RFM ADDRESS BIT 0
816 040000 RFMAD1= BIT14 ; " " " 1
817 020000 RFMAD2= BIT13 ; " " " 2
818 010000 RFMAD3= BIT12 ; " " " 3
819
820 ;BIT ASSIGNMENTS FOR DIAG3 (READ)
821
822 100000 SWSLFT= BIT15 ;SWAP SELECT LEFT
823 040000 CAB08= BIT14 ;CAPTURED UNIBUS ADDRESS BIT 08
824 000020 DUPE= BIT4 ;DATO UNIBUS PARITY ERROR
825 000004 DURE= BIT2 ;DATO UNIBUS RECIEVER ERROR
826 000002 NUPE= BIT1 ;NPR UNIBUS PARITY ERROR
827 037000 UPECD= BIT13!BIT12!BIT11!BIT10!BIT9 ;UNIBUS PARITY ERR, CAPTURED DATA
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 27
PRM11 PAL[KL,SYS] Page 17 DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
828 ;BIT ASSIGNMENTS FOR STATUS (WRITE)
829
830 100000 DON10S= BIT15 ;SET TO10 DONE
831 040000 DON10C= BIT14 ;CLEAR TO10 DONE
832 020000 ERR10S= BIT13 ;SET TO10 ERROR
833 010000 ERR10C= BIT12 ;CLEAR TO10 ERROR
834 004000 INT11S= BIT11 ;SET 10 REQ INTERRUPT (INTERRUPTS 11)
835 002000 INT11C= BIT10 ;CLEAR 10 REQ INTERRUPT (REMOVES INTERRUPT TO 11)
836 001000 PERCLR= BIT9 ;CLEAR -11 MEMORY PARITY ERROR
837 000400 INT10S= BIT8 ;SET REQUEST 10 INTERRUPT (INTERRUPTS 10)
838 000200 DON11S= BIT7 ;SET TO11 DONE
839 000100 DON11C= BIT6 ;CLEAR TO11 DONE
840 000040 INTRON= BIT5 ;ENABLE DTE20 TO INTERRUPT THE 11
841 000020 EBUSPC= BIT4 ;CLEAR EBUS PARITY ERROR
842 000010 INTROF= BIT3 ;DISABLE THE DTE20 11-INTERRUPTS
843 000004 EBUSPS= BIT2 ;SET EBUS PARITY ERROR
844 000002 ERR11S= BIT1 ;SET TO11 ERROR
845 000001 ERR11C= BIT0 ;CLEAR TO11 ERROR
846
847 ;BIT ASSIGNMENTS FOR STATUS (READ)
848
849 100000 TO10DN= BIT15 ;TO10 DONE
850 020000 TO10ER= BIT13 ;TO 10 ERROR (NPR TIMEOUT OR BUS ERROR)
851 010000 RAMIS0= BIT12 ;DATA OUT OF DTE RAM IS ALL 0S (RFM=0)
852 004000 TO11DB= BIT11 ;10 REQUESTING 11 INTERRUPT (DOORBELL FROM 10)
853 002000 DXWRD1= BIT10 ;DEPOSIT OR EXAMINE WORD ONE
854 001000 D11MPE= BIT9 ;-11 MEMORY PARITY ERROR
855 000400 TO10DB= BIT8 ;REQUEST 10 INTERRUPT (DOORBELL FROM 11)
856 000200 TO11DN= BIT7 ;TO11 DONE
857 000100 EBSEL= BIT6 ;E BUFFER SELECT
858 000040 NULSTP= BIT5 ;NULL STOP
859 000020 BPARER= BIT4 ;EBUS PARITY ERROR
860 000010 RM= BIT3 ;THIS DTE20 IN RESTRICTED MODE
861 000004 DEXDON= BIT2 ;DEPOSIT OR EXAMINE DONE
862 000002 TO11ER= BIT1 ;TO 11 ERROR (NPR TIMEOUT OR BUS ERROR)
863 000001 INTSON= BIT0 ;INTERRUPTS ON, DTE20 ENABLED TO INTERRUPT 11
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 28
PRM11 PAL[KL,SYS] Page 18 DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
864 ;CLOCK CONTROL FUNCTIONS
865
866 000000 STPCLK= 000 ; STOP CLOCK
867 000001 STRCLK= 001 ; START CLOCK
868 000002 SSCLK= 002 ; SINGLE STEP THE MBOX CLOCK
869 000003 SECLK= 003 ; SINGLE STEP EBOX CLOCK
870 000004 CECLK= 004 ; CONDITIONAL EBOX CLOCK
871 000006 CLRMR= 006 ; CLEAR MR RESET
872 000007 SETMR= 007 ; SET MR RESET
873 000005 BRCLK= 005 ; BURST THE CLOCK
874
875 ;CLOCK LOAD FUNCTIONS
876
877 000042 LDBRR= 42 ; LOAD BURST REGISTER RIGHT HALF
878 000043 LDBRL= 43 ; LOAD BURST REGISTER LEFT HALF
879 000044 LDSEL= 44 ; LOAD SOURCE AND RATE SELECTS
880 000045 LDDIS= 45 ; LOAD EBOX CLOCK DISTRIBUTION REGISTER
881 000046 LDCHK1= 46 ; LOAD PARITY CHECK REGISTER (ENABLE BAD PARITY STOP)
882 000047 LDCHK2= 47 ; LOAD EBOX INTERNAL CHECK REGISTER
883
884 ;DRAM FUNCTIONS
885
886 000060 LDRAM1= 60 ; LOAD A & B FIELDS EVEN
887 000061 LDRAM2= 61 ; LOAD A & B FIELDS ODD
888 000062 LDRAM3= 62 ; LOAD COMMON J1-J4
889 000063 LDRJEV= 63 ; LOAD PARITY & J8-J10 EVEN
890 000064 LDRJOD= 64 ; LOAD PARITY & J8-J10 ODD
891 000133 DRAMAB= 133 ; READ D-RAM A & B
892 000135 DRJ710= 135 ; READ D-RAM J7-J10
893 000134 DRJ1.4= 134 ; READ D-RAM J1-J4
894
895 ;IR DRAM CONTROL
896
897 000065 DISIOJ= 65 ; DISABLE 7XX & JRST=254
898 000066 DISACF= 66 ; DISABLE THE IR AC'C
899 000067 ENIOJA= 67 ; ENABLE 7XX, JRST=254 & IR AC'S
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 29
PRM11 PAL[KL,SYS] Page 19 DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
900 ;CRAM FUNCTIONS
901
902 000057 LCRAM1= 57 ; LOAD C-RAM DATA
903 000056 LCRAM2= 56
904 000055 LCRAM3= 55
905 000054 LCRAM4= 54
906 000053 LCRAM5= 53
907 000052 LCRDAL= 52 ; LOAD CRAM ADDRESS LEFT (00-04)
908 000051 LCRDAR= 51 ; LOAD CRAM ADDRESS RIGHT (05-10)
909 000147 RCRAM1= 147 ; READ C-RAM DATA
910 000146 RCRAM2= 146
911 000145 RCRAM3= 145
912 000144 RCRAM4= 144
913 000141 RCSPEC= 141 ; READ C-RAM SPEC
914
915 ;MISC CONTROL FUNCTIONS
916
917 000014 IRLOAD= 14 ; LOAD THE IR FROM AD
918 000015 DRLTCH= 15 ; LOAD D-RAM LATCHES
919 000010 CLRRUN= 10 ; CLEAR RUN FLIP-FLOP
920 000011 SETRUN= 11 ; SET RUN FLIP-FLOP
921 000012 CONBUT= 12 ; THE CONTINUE BUTTON
922 000077 LDAR= 77 ; LOAD THE AR
923
924 ;MBOX CONTROL FUNCTIONS
925
926 000071 LDMBXA= 71 ; LOAD MEMORY TO CACHE SELECTOR
927 000070 LDCHAN= 70 ; LOAD CHANNEL DIAGNOSTIC CONDITIONS
928
929 ;PI CONTROL FUNCTIONS
930
931 000100 READ0= 100 ; PI (READ STATUS 0)
932 000101 READ1= 101 ; PI (READ STATUS 1)
933 000102 READ2= 102 ; PI (READ STATUS 2)
934 000103 READ3= 103 ; PI (READ STATUS 3)
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 30
PRM11 PAL[KL,SYS] Page 20 DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
935 ;DATA PATH CONTROL FUNCTIONS
936
937 000120 DPAR =120 ; AR
938 000121 DPBR =121 ; BR
939 000122 DPMQ =122 ; MQ
940 000123 DPFM =123 ; FM
941 000114 DPFMA =114 ; FM ADR
942 000124 DPBRX =124 ; BRX
943 000125 DPARX =125 ; ARX
944 000126 DPADX =126 ; ADX
945 000127 DPAD =127 ; AD
946 000153 DPPC =153 ; PC
947 000157 DPVMA =157 ; VMA
948 000157 DPVMHD =157 ; VMA HELD
949 000153 DPADB =153 ; ADDRESS BREAK
950 000167 DPERG =167 ; E-BUS REGISTER
951 000132 DPFE =132 ; FE 05-09
952 000133 DPFE1 =133 ; FE 00-04
953 000130 DPSC =130 ; SC 05-09
954 000131 DPSC1 =131 ; SC 00-04
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 31
PRM11 PAL[KL,SYS] Page 21 KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
955 .SBTTL KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
956
957 ;MACRO TO TURN 36 BIT WORDS INTO 5 UPSIDE DOWN BYTES
958
959 .MACRO WD36 A,B,C
960 .NLIST SRC
961 .BYTE <377&C>,<<<C&7400>/400>!<<B&17>*20>>,<<B&7760>/20>
962 .BYTE <A&377>,<<A&7400>/400>
963 .LIST SRC
964 .ENDM
965
966 ;PDP10 CPU INSTRUCTION MACRO. TAKES 5 ARGUMENTS AS IN NORMAL
967 ;10 CODE. 5 FIELDS MUST BE PRESENT (4 FIELD SEPARATORS)
968 ;BUT THE AD,AC,I, AND XR FIELDS MAY BE LEFT BLANK AND IF SO,
969 ;WILL ASSEMBLE AS ZERO. THE OP FIELD MUST NOT BE LEFT BLANK.
970
971 .MACRO I10 OP,CAC,CI,CAD,CXR
972 ADH=0
973 ADL=0
974 .IF NB CAD
975 .IRPC AD1,CAD
976 .IIF GE <ADL-10000>,ADH=ADL/10000
977 ADL=10*<ADL&7777>+AD1
978 .ENDM
979 .ENDC
980 .IIF B CAC,AC=0
981 .IIF NB CAC,AC=CAC
982 .IIF B CI,I=0
983 .IIF NB CI,I=CI
984 .IIF B CXR,XR=0
985 .IIF NB CXR,XR=CXR
986 .NLIST SRC
987 .BYTE <ADL&377>,<<ADL/400>!<ADH*200&377>>,<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
988 .BYTE <OP&37*10+<AC/2>>,<OP/40>
989 .LIST SRC
990 .ENDM I10
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 32
PRM11 PAL[KL,SYS] Page 22 KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
991 ;MACRO TO GENERATE A RIGHT JUSTIFIED 3-BYTE VALUE
992 ;FOR A 22-BIT ARGUMENT
993
994 .MACRO WD22 AD
995 ADH=0
996 ADL=0
997 .IRPC AD1,AD
998 .IIF GE <ADL-10000>,ADH=<10*ADH>+<ADL/10000>
999 ADL=10*<ADL&7777>+AD1
1000 .ENDM
1001 .NLIST SRC
1002 .BYTE <ADL&377>,<<ADL/400>!<ADH*200&377>>,<ADH/2>
1003 .LIST SRC
1004 .ENDM WD22
1005
1006 ;PDP10 I/O INSTRUCTION MACRO. TAKES 5 ARGUMENT AS NOTED ABOVE
1007 ;IN THE DESCRIPTION OF THE I10 MACRO. THE 8 I/O OP CODES ARE
1008 ;DEFINED AS ARE DEVICE CODES APR, PI, PAG, AND CCA.
1009
1010 .MACRO IO10 OP,DV,CI,AD,CXR
1011 .IIF B CI,I=0
1012 .IIF NB CI,I=CI
1013 .IIF B CXR,XR=0
1014 .IIF NB CXR,XR=CXR
1015 BLKO=2
1016 DATAO=3
1017 BLKI=0
1018 DATAI=1
1019 CONO=4
1020 CONI=5
1021 CONSZ=6
1022 CONSO=7
1023 APR=0
1024 PI=4
1025 PAG=10
1026 CCA=14
1027 ADH=0
1028 ADL=0
1029 .IRPC AD1,AD
1030 .IIF GE <ADL-10000>,ADH=ADL/10000
1031 ADL=10*<ADL&7777>+AD1
1032 .ENDM
1033 .NLIST SRC
1034 .BYTE <ADL&377>,<<ADL/400>!<ADH*200&377>>,<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
1035 .BYTE <DV&374+<OP/2>>,<DV/400+16>
1036 .LIST SRC
1037 .ENDM IO10
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 33
PRM11 PAL[KL,SYS] Page 23 KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
1038 ;THIS IS A MACRO TO WAIT FOR A DONE FLAG
1039
1040 .MACRO WFZERO BITSEL
1041 MOV #2500.,-(SP) ;SET TIMEOUT CNT
1042 91$: BIT #BITSEL,@.DIAG1 ;TEST BIT
1043 BEQ 92$ ;LEAVE IF BIT ZERO(OK)
1044 DEC (SP) ;DECREMENT CNT
1045 BNE 91$ ;CONTINUE LOOP
1046 TST RPTFLG ;OTHERWISE TIME OUT
1047 BNE 92$
1048 JSR R1,$DFTIM
1049 92$: TST (SP)+ ;RESET STACK & CONTINUE
1050 .ENDM
1051
1052
1053 ;THIS MACRO IS A WAIT FOR FLAG MACRO.
1054 ;IT WAITS FOR A TEST BIT TO GO TO ONE
1055 ;FROM A ZERO
1056
1057 .MACRO WFONE BITSEL
1058 MOV #2500.,-(SP) ;SET TIMEOUT CNT
1059 93$: BIT #BITSEL,@.STDTE ;TEST BIT
1060 BNE 94$ ;LEAVE IF NOW A ONE(OK)
1061 DEC (SP) ;DECREMENT CNT
1062 BNE 93$ ;CONTINUE LOOP
1063 TST RPTFLG ;OTHERWISE TIME OUT
1064 BNE 94$
1065 JSR R1,$DFTIM
1066 94$: TST (SP)+ ;RESET STACK
1067 .ENDM
1068
1069 ;.NLIST
1070 .ENDC ; DTEASB
1071 ;.LIST
1072 ;.NLIST
1073 .IF DF DTEBBD
1074 ;.LIST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 34
PRM11 PAL[KL,SYS] Page 24 KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
1075 .SBTTL *BBD* DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 2-JAN-75
1076
1077 DTEADR= 164000 ;ADDRESS OF (FIRST) DTE20 DEVICE REGISTER BLOCK
1078 DTESIZ= 000040 ;SPACING BETWEEN CONSECUTIVE DTE20'S
1079 DTEMAX= 4 ;MAXIMUM NUMBER OF DTE20'S ON ONE PDP-11
1080 DTESZS= 5 ;SHIFT TO CONVERT DTE ADDRESS TO DTE #
1081
1082 .IF DF DTEDEF
1083 ;OFFSETS FROM THE BASE OF THE DTE20 DEVICE REGISTER BLOCK
1084 ;TO SPECIFIC 10/11 INTERFACE RAM LOCATIONS AND REGISTERS.
1085
1086 ; THE FIRST 12 REGISTERS ARE NOT INITIALIZED BY "INIT" (BECAUSE THEY ARE IN RAMS)
1087
1088 DLYCNT= 00 ;DELAY COUNT (ADDRESS XXXX00)
1089 DEXWD1= 02 ;DEPOSIT OR EXAMINE WORD 1 (ADDRESS XXXX02)
1090 DEXWD2= 04 ;DEPOSIT OR EXAMINE WORD 2 (ADDRESS XXXX04)
1091 DEXWD3= 06 ;DEPOSIT OR EXAMINE WORD 3 (ADDRESS XXXX06)
1092 TENAD1= 10 ;10 ADDRESS WORD 1 FOR DEX (ADDRESS XXXX10)
1093 TENAD2= 12 ;10 ADDRESS WORD 2 FOR DEX (ADDRESS XXXX12)
1094 TO10BC= 14 ;TO10 BYTE COUNT (ADDRESS XXXX14)
1095 TO11BC= 16 ;TO11 BYTE COUNT (ADDRESS XXXX16)
1096 TO10AD= 20 ;TO10 PDP11 MEMORY ADDRESS (ADDRESS XXXX20)
1097 TO11AD= 22 ;TO11 PDP11 MEMORY ADDRESS (ADDRESS XXXX22)
1098 TO10DT= 24 ;TO10 PDP11 DATA WORD (ADDRESS XXXX24)
1099 TO11DT= 26 ;TO11 PDP11 DATA WORD (ADDRESS XXXX26)
1100
1101 ; THE LAST 4 REGISTERS ARE INITIALIZED BY "INIT" (BECAUSE THEY ARE IN FLIP-FLOPS)
1102
1103 DIAG1= 30 ;DIAGNOSTIC WORD 1 (ADDRESS XXXX30)
1104 DIAG2= 32 ;DIAGNOSTIC WORD 2 (ADDRESS XXXX32)
1105 STATUS= 34 ;10/11 INTERFACE STATUS WORD (ADDRESS XXXX34)
1106 DIAG3= 36 ;DIAGNOSTIC WORD 3 (ADDRESS XXXX36)
1107 .ENDC
1108
1109 ; THE FOLLOWING ARE THE ADDRESSES OF THE DTE20 INTERRUPT VECTORS
1110
1111 DTEIV0= 170 ;INTERRUPT VECTOR FOR DTE20 #0
1112 DTEIV1= 174 ;INTERRUPT VECTOR FOR DTE20 #1
1113 DTEIV2= 270 ;INTERRUPT VECTOR FOR DTE20 #2
1114 DTEIV3= 274 ;INTERRUPT VECTOR FOR DTE20 #3
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 35
PRM11 PAL[KL,SYS] Page 25 KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
1115 ; THE FOLLOWING MACRO (DTEVEC) DYNAMICLY COMPUTES THE INTERRUPT
1116 ; VECTOR ADDRESS ASSOCIATED WITH A PARTICULAR DTE20.
1117 ; THE FIRST ARGUMENT (DTEDRB) IS A REGISTER OR MEMORY LOCATION
1118 ; WHICH CONTAINS THE BASE ADDRESS OF THE DEVICE REGISTER BLOCK
1119 ; FOR A PARTICULAR DTE20.
1120 ; THE SECOND ARGUMENT (DTEIVB) IS A REGISTER OR MEMORY LOCATION
1121 ; INTO WHICH THIS MACRO WILL STORE THE BASE ADDRESS OF THE INTERRUPT
1122 ; VECTOR ASSOCIATED WITH THE SAME DTE20.
1123
1124 .MACRO DTEVEC DTEDRB,DTEIVB,?LABEL
1125 MOVB DTEDRB,DTEIVB
1126 .NTYPE DTE$T0,DTEIVB
1127 .IF NE DTE$T0&70 ;IS "DTEIVB" A REGISTER?
1128 .IFT
1129 CLRB DTEIVB+1
1130 .ENDC
1131 ADD #DTEIV0,DTEIVB ;THIS MACRO DEPENDS ON THE BIT
1132 BIT #DTESIZ,DTEIVB ;PATTERNS IN THE DEVICE REGISTER
1133 BNE LABEL ;ADDRESSES AND INTERRUPT VECTOR
1134 SUB #DTESIZ+DTEIV0-DTEIV1,DTEIVB ;ADDRESSES.
1135 LABEL:
1136 .ENDM DTEVEC
1137
1138 ;BIT ASSIGNMENTS FOR 10/11 INTERFACE REGISTERS
1139
1140 ;BIT ASSIGNMENTS FOR TENAD1
1141
1142 DEP=BIT15 ;MODE BIT FOR DEPOSIT (0=EXAMINE)
1143 F1=BIT7 ;HIGH ORDER BIT OF FAST AC BLOCK
1144 F2=BIT6 ;LOW " " " " " "
1145
1146 ;BIT ASSIGNMENTS FOR TO10BC
1147
1148 INT11=BIT15 ;SET DONE AND INTERRUPT BOTH 10 AND 11
1149
1150 ;BIT ASSIGNMENTS FOR TO11BC
1151
1152 INT10=BIT15 ;SET DONE AND INTERRUPT BOTH 10 AND 11
1153 ZSTOP=BIT14 ;STOP ON NULL (ZERO) CHARACTER
1154
1155 ;BIT ASSIGNMENTS FOR TO10AD AND TO11AD
1156
1157 BYTE2=BIT0 ;TWO EIGHT-BIT BYTES PER WORD
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 36
PRM11 PAL[KL,SYS] Page 26 KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
1158 ;BIT ASSIGNMENTS FOR DIAG1 (WRITE)
1159
1160 DPULSE=BIT7 ;PULSE THE KL10 CLOCK
1161 PULSE=BIT4!BIT0 ;SINGLE PULSE THE 10/11 CLOCK (ALSO SETS
1162 ;10/11 DIAGNOSTIC MODE)
1163 DBUSEN=BIT3 ;DIAGNOSTIC BUS ENABLE
1164 DCSRT=BIT3 ;DIAGNOSTIC COMMAND START (NEW NAME FOR DBUSEN)
1165 DSEND=BIT2 ;SEND THE EBUS DURING DIAGNOSTIC FUNCTION
1166 DIKL10=BIT1 ;KL10 DIAGNOSTIC MODE
1167 D1011=BIT0 ;10/11 INTERFACE DIAGNOSTIC MODE
1168
1169 ;BIT ASSIGNMENTS FOR DIAG1 (READ)
1170
1171 TO10=BIT7 ;INTERFACE MAJOR STATE = TO10 TRANSFER
1172 DEX=BIT6 ; " " " = DEPOSIT OR EXAMINE
1173 TO11=BIT5 ; " " " = TO11 TRANSFER
1174 VEC04=BIT4 ;VECTOR INTERRUPT ADDRESS BIT 4
1175 VEC03=BIT3 ; " " " " 3
1176 VEC02=BIT2 ; " " " " 2
1177
1178 ;BIT ASSIGNMENTS FOR DIAG2 (WRITE)
1179
1180 EDONES=BIT14 ;SET EBUS DONE
1181 STHOLD=BIT7 ;STAY IN CURRENT MAJOR STATE
1182 CLEAR=BIT6 ;PERFORM DIAGNOSTIC CLEAR
1183
1184 ;BIT ASSIGNMENTS FOR DIAG2 (READ)
1185
1186 ;BIT ASSIGNMENTS FOR DIAG3 (READ)
1187
1188 RAMIS0=BIT7 ;RFM=0 (ALL ZEROES COMING OUT OF RAM)
1189 RFMAD0=BIT1 ;RFM ADDRESS BIT 0
1190 RFMAD1=BIT8 ; " " " 1
1191 RFMAD2=BIT9 ; " " " 2
1192 RFMAD3=BIT10 ; " " " 3
1193
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 37
PRM11 PAL[KL,SYS] Page 27 KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
1194 ;BIT ASSIGNMENTS FOR STATUS (WRITE)
1195
1196 DON10S=BIT15 ;SET TO10 DONE
1197 DON10C=BIT14 ;CLEAR TO10 DONE
1198 ERR10S=BIT13 ;SET TO10 ERROR
1199 ERR10C=BIT12 ;CLEAR TO10 ERROR
1200 INT11S=BIT11 ;SET 10 REQ INTERRUPT (INTERRUPTS 11)
1201 INT11C=BIT10 ;CLEAR 10 REQ INTERRUPT (REMOVES INTERRUPT TO 11)
1202 PERCLR=BIT9 ;CLEAR -11 MEMORY PARITY ERROR
1203 INT10S=BIT8 ;SET REQUEST 10 INTERRUPT (INTERRUPTS 10)
1204 DON11S=BIT7 ;SET TO11 DONE
1205 DON11C=BIT6 ;CLEAR TO11 DONE
1206 ERR11S=BIT1 ;SET TO11 ERROR
1207 ERR11C=BIT0 ;CLEAR TO11 ERROR
1208
1209 ;BIT ASSIGNMENTS FOR STATUS (READ)
1210
1211 TO10DN=BIT15 ;TO10 DONE
1212 PI10OF=BIT14 ;THIS DTE20 IS NOT TRYING TO INTERRUPT THE -10
1213 TO10ER=BIT13 ;TO 10 ERROR (NPR TIMEOUT OR BUS ERROR)
1214 INTR11=BIT12 ;11 INTERRUPT PENDING
1215 DOOR10=BIT11 ;10 REQUESTING 11 INTERRUPT (DOORBELL FROM 10)
1216 DXWRD1=BIT10 ;DEPOSIT OR EXAMINE WORD ONE
1217 PARERR=BIT9 ;-11 MEMORY PARITY ERROR
1218 DOOR11=BIT8 ;REQUEST 10 INTERRUPT (DOORBELL FROM 11)
1219 TO11DN=BIT7 ;TO11 DONE
1220 EBSEL=BIT6 ;E BUFFER SELECT
1221 NULSTP=BIT5 ;NULL STOP
1222 DEAD10=BIT4 ;KL10 STOPPED
1223 DBUSON=BIT3 ;DIAGNOSTIC BUS ENABLED
1224 DEXDON=BIT2 ;DEPOSIT OR EXAMINE DONE
1225 TO11ER=BIT1 ;TO 11 ERROR (NPR TIMEOUT OR BUS ERROR)
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 38
PRM11 PAL[KL,SYS] Page 28 KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
1226 ; FUNCTION SELECT CODES
1227
1228 STPCLK =010 ; STOP CLOCK
1229 STRCLK =011 ; START CLOCK
1230 SSCLK =014 ; SINGLE STEP THE CLOCK
1231 CLRMR =016 ; CLEAR MR RESET
1232 SETMR =017 ; SET MR RESET
1233 BRCLK =015 ; BURST THE CLOCK
1234 LDCLK =012 ; LOAD CLOCK BURST COUNTER & RATE
1235 CLKCND =101 ; READ CLOCK CONDITION
1236
1237 LDRAM1 =030 ; LOAD D-RAM DATA
1238 LDRAM2 =031
1239 LDRAM3 =032
1240 RDRAMA =131 ; READ D-RAM ADDRESS
1241 RDRAM1 =132 ; READ D-RAM DATA
1242 RDRAM2 =133
1243 DRAMAB =132 ; D-RAM A & B
1244 DRAMJ =133 ; D-RAM J
1245
1246 LCRAM1 =040 ; LOAD C-RAM DATA
1247 LCRAM2 =041
1248 LCRAM3 =042
1249 LCRAM4 =043
1250 LCRAM5 =044
1251 LCRAMA =047 ; LOAD C-RAM ADDRESS
1252 RCRAM1 =140 ; READ C-RAM DATA AND ADDRESS
1253 RCRAM2 =141 ; READ C-RAM DATA
1254 RCRAM3 =142
1255 RCRAM4 =143
1256
1257 RELCTR =000 ; RELINQUISH CONTROL OF THE TRANSLATOR
1258 DIAGRD =001 ; SET TRANSLATOR IN 10 TO 11 DIRECTION
1259 DIAGLD =002 ; SET TRANSLATOR IN 11 TO 10 DIRECTION
1260 IRLOAD =003 ; ENABLE LOADING OF THE AR & IR REGISTERS
1261 DRLTCH =005 ; LOAD D-RAM LATCHES
1262 CLRRUN =007 ; CLEAR RUN FLIP-FLOP
1263 SETRUN =006 ; SET RUN FLIP-FLOP
1264 CONBUT =004 ; THE CONTINUE BUTTON
1265
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 39
PRM11 PAL[KL,SYS] Page 29 KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
1266 READ0 =110 ; PI (READ STATUS 0)
1267 READ1 =111 ; PI (READ STATUS 1)
1268 READ2 =112 ; PI (READ STATUS 2)
1269 READ3 =113 ; PI (READ STATUS 3)
1270
1271 DPAR =120 ; AR (DATA PATH)
1272 DPBR =121 ; BR
1273 DPMQ =122 ; MQ
1274 DPFM =123 ; FM
1275 DPBRX =124 ; BRX
1276 DPARX =125 ; ARX
1277 DPADX =126 ; ADX
1278 DPAD =127 ; AD
1279 DPFE =133 ; FE
1280 DPSC =131 ; SC
1281 DPERG =157 ; E-BUS REGISTER
1282
1283 RDPCH =130 ; READ PC 18-26
1284 RDPCL =131 ; READ PC 27-35
1285 RDVMAH =132 ; READ VMA 18-26
1286 RDVMAL =133 ; READ VMA 27-35
1287
1288 MCHLTLP =42 ; U CODE HALT LOOP ADDRESS
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 40
PRM11 PAL[KL,SYS] Page 30 KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
1289 .SBTTL *BBD* KL10 EBOX MACRO DEFINITIONS, 4-MAR-75
1290
1291 ;MACRO TO TURN 36 BIT WORDS INTO 5 UPSIDE DOWN BYTES
1292
1293 .MACRO WD36 A,B,C
1294 .NLIST SRC
1295 .BYTE <377&C>,<<<C&7400>/400>!<<B&17>*20>>,<<B&7760>/20>
1296 .BYTE <A&377>,<<A&7400>/400>
1297 .LIST SRC
1298 .ENDM
1299
1300 ;PDP10 CPU INSTRUCTION MACRO. TAKES 5 ARGUMENTS AS IN NORMAL
1301 ;10 CODE. 5 FIELDS MUST BE PRESENT (4 FIELD SEPARATORS)
1302 ;BUT THE AD,AC,I, AND XR FIELDS MAY BE LEFT BLANK AND IF SO,
1303 ;WILL ASSEMBLE AS ZERO. THE OP FIELD MUST NOT BE LEFT BLANK.
1304
1305 .MACRO I10 OP,CAC,CI,CAD,CXR
1306 ADH=0
1307 ADL=0
1308 .IF NB CAD
1309 .IRPC AD1,CAD
1310 .IIF GE <ADL-10000>,ADH=ADL/10000
1311 ADL=10*<ADL&7777>+AD1
1312 .ENDM
1313 .ENDC
1314 .IIF B CAC,AC=0
1315 .IIF NB CAC,AC=CAC
1316 .IIF B CI,I=0
1317 .IIF NB CI,I=CI
1318 .IIF B CXR,XR=0
1319 .IIF NB CXR,XR=CXR
1320 .NLIST SRC
1321 .BYTE <ADL&377>,<<ADL/400>!<ADH*200&377>>,<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
1322 .BYTE <OP&37*10+<AC/2>>,<OP/40>
1323 .LIST SRC
1324 .ENDM I10
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 41
PRM11 PAL[KL,SYS] Page 31 KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
1325 ;MACRO TO GENERATE A RIGHT JUSTIFIED 3-BYTE VALUE
1326 ;FOR A 22-BIT ARGUMENT
1327
1328 .MACRO WD22 AD
1329 ADH=0
1330 ADL=0
1331 .IRPC AD1,AD
1332 .IIF GE <ADL-10000>,ADH=<10*ADH>+<ADL/10000>
1333 ADL=10*<ADL&7777>+AD1
1334 .ENDM
1335 .NLIST SRC
1336 .BYTE <ADL&377>,<<ADL/400>!<ADH*200&377>>,<ADH/2>
1337 .LIST SRC
1338 .ENDM WD22
1339
1340 ;PDP10 I/O INSTRUCTION MACRO. TAKES 5 ARGUMENT AS NOTED ABOVE
1341 ;IN THE DESCRIPTION OF THE I10 MACRO. THE 8 I/O OP CODES ARE
1342 ;DEFINED AS ARE DEVICE CODES APR, PI, PAG, AND CCA.
1343
1344 .MACRO IO10 OP,DV,CI,AD,CXR
1345 .IIF B CI,I=0
1346 .IIF NB CI,I=CI
1347 .IIF B CXR,XR=0
1348 .IIF NB CXR,XR=CXR
1349 BLKO=2
1350 DATAO=3
1351 BLKI=0
1352 DATAI=1
1353 CONO=4
1354 CONI=5
1355 CONSZ=6
1356 CONSO=7
1357 APR=0
1358 PI=4
1359 PAG=10
1360 CCA=14
1361 ADH=0
1362 ADL=0
1363 .IRPC AD1,AD
1364 .IIF GE <ADL-10000>,ADH=ADL/10000
1365 ADL=10*<ADL&7777>+AD1
1366 .ENDM
1367 .NLIST SRC
1368 .BYTE <ADL&377>,<<ADL/400>!<ADH*200&377>>,<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
1369 .BYTE <DV&374+<OP/2>>,<DV/400+16>
1370 .LIST SRC
1371 .ENDM IO10
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 42
PRM11 PAL[KL,SYS] Page 32 KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
1372 ;THIS IS A MACRO TO WAIT FOR A DONE FLAG
1373
1374 .MACRO WFZERO BITSEL
1375 MOV #2500.,-(SP) ;SET TIMEOUT CNT
1376 91$: BIT #BITSEL,@.DIAG1 ;TEST BIT
1377 BEQ 92$ ;LEAVE IF BIT ZERO(OK)
1378 DEC (SP) ;DECREMENT CNT
1379 BNE 91$ ;CONTINUE LOOP
1380 TST RPTFLG ;OTHERWISE TIME OUT
1381 BNE 92$
1382 JSR R1,$DFTIM
1383 92$: TST (SP)+ ;RESET STACK & CONTINUE
1384 .ENDM
1385
1386
1387 ;THIS MACRO IS A WAIT FOR FLAG MACRO.
1388 ;IT WAITS FOR A TEST BIT TO GO TO ONE
1389 ;FROM A ZERO
1390
1391 .MACRO WFONE BITSEL
1392 MOV #2500.,-(SP) ;SET TIMEOUT CNT
1393 93$: BIT #BITSEL,@.STDTE ;TEST BIT
1394 BNE 94$ ;LEAVE IF NOW A ONE(OK)
1395 DEC (SP) ;DECREMENT CNT
1396 BNE 93$ ;CONTINUE LOOP
1397 TST RPTFLG ;OTHERWISE TIME OUT
1398 BNE 94$
1399 JSR R1,$DFTIM
1400 94$: TST (SP)+ ;RESET STACK
1401 .ENDM
1402
1403 ;.NLIST
1404 .ENDC ; DTEBBD
1405 ;.LIST
1406 ;.NLIST
1407 .IF DF DVASB
1408 ;.LIST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 43
PRM11 PAL[KL,SYS] Page 33 KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
1409 .SBTTL DEVICE SYMBOL DEFINITIONS, 4-JUNE-75
1410
1411 ; PRIORITY LEVELS FOR SERVICE ROUTINES.
1412
1413 TPILEV= PR6 ; TERMINAL PRIORITY LEVEL
1414 NXMPIL= PR7 ; "NON-X-MEM" PRIORITY LEVEL
1415 DHRPS= TPILEV ; DH11 RECEIVER PRIORITY
1416 DHTPS= DHRPS ; DH11 TRANSMITTER
1417 DLRPS= DHRPS ; DL11
1418 DLTPS= DLRPS
1419 KWLPS= DHRPS ; KW11 PRIORITY LEVEL
1420 NXMPS= NXMPIL ; "NON-X-MEM" PRIORITY LEVEL
1421
1422 ; BIT DEFINITIONS FOR THE PARAMETER WORD.
1423
1424 PDHDNS= 11 ; DH11 DEVICE NUMBER SHIFT
1425 PDHDNM= 7000 ; DH11 DEVICE NUMBER MASK
1426 PDHLNS= 4 ; DH11 LINE NUMBER SHIFT
1427 PDHLNM= 360 ; DH11 LINE NUMBER MASK
1428 PDHLSS= 0 ; DH11 LINE SPEED SHIFT
1429 PDHLSM= 17 ; DH11 LINE SPEED MASK
1430 PDLFCS= PDHLNS ; DL11 FILLER CLASS SHIFT
1431 PDLFCM= PDHLNS ; DL11 FILLER CLASS MASK
1432
1433 ; OTHER DEVICES.
1434
1435 DP11BA= 174770 ; DP11 DEVICE REGISTERS BASE ADDRESS
1436 DP11RS= 10 ; DP11 DEVICE REGISTER SIZE
1437 DP11VS= 10 ; DP11 INTERRUPT VECTOR SIZE
1438 DM11BA= 170500 ; DM11 DEVICE REGISTER BASE ADDRESS
1439 DM11RS= 10 ; DM11 DEVICE REGISTER SIZE
1440 DM11VS= 4 ; DM11 INTERRUPT VECTOR SIZE
1441 DR11BA= 167770 ; DR11 DEVICE REGISTER BASE ADDRESS
1442 DR11RS= 10 ; DR11 DEVICE REGISTER SIZE
1443 DR11VS= 10 ; DR11 INTERRUPT VECTOR SIZE
1444
1445 ;.NLIST
1446 .ENDC ;DVASB
1447 ;.LIST
1448 ;.NLIST
1449 .IF DF KWASB
1450 ;.LIST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 44
PRM11 PAL[KL,SYS] Page 34 KW11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1451 .SBTTL KW11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1452
1453 000100 KWLIV= 100 ; VECTOR ADDRESS
1454
1455 177546 KWLKS= 177546 ; LINE CLOCK STATUS DEVICE ADDRESS
1456
1457 000100 KWLKE= 100 ; LINE CLOCK INTERRUPT ENABLE BIT
1458
1459 .SBTTL MM11 DEVICE REGISTERS AND BIT ASSIGNMENTS, 4-JUNE-75
1460
1461 000114 MMLPIV= 114 ;VECTOR ADDRESS
1462
1463 172100 MMLPBA= 172100 ;1ST MM11-LP DEVICE ADDRESS
1464 172136 MMLPEA= 172136 ;LAST MM11-LP DEVICE ADDRESS
1465
1466 100000 MMERRF= BIT15 ;ERROR FLAG
1467
1468 007740 MMADDM= 7740 ;ADDRESS MASK
1469 000005 MMADDS= 5 ;ADDRESS SHIFT
1470
1471 000004 MMWWP= BIT2 ;WRITE WRONG PARITY
1472 000001 MMPIE= BIT0 ;PARITY INTERRUPT ENABLE
1473
1474 ;.NLIST
1475 .ENDC ;KWASB
1476 ;.LIST
1477 ;.NLIST
1478 .IF DF DLASB
1479 ;.LIST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 45
PRM11 PAL[KL,SYS] Page 35 DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1480 .SBTTL DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1481
1482 000060 DLRIV= 60 ; RECEIVER VECTOR ADDRESS
1483 000064 DLTIV= DLRIV+4 ; TRANSMITTER VECTOR ADDRESS
1484 177560 DLBA= 177560 ; BASE FOR DEVICE ADDRESSES
1485 000000 DLRCSR= 0 ; RECEIVER STATUS REGISTER
1486 000002 DLRBUF= 2 ; RECEIVER BUFFER REGISTER
1487 000004 DLXCSR= 4 ; TRANSMITTER STATUS REGISTER
1488 000006 DLXBUF= 6 ; TRANSMITTER BUFFER REGISTER
1489
1490 ; BIT DEFINITIONS FOR "DLRCSR"- RECEIVER CONTROL STATUS REGISTER.
1491
1492 100000 DLDSC= BIT15 ; DATA STATUS CHANGE
1493 040000 DLRI= BIT14 ; RING INDICATOR
1494 020000 DLCTS= BIT13 ; CLEAR TO SEND
1495 010000 DLCD= BIT12 ; CARRIER DETECT
1496 004000 DLRA= BIT11 ; RECEIVER ACTIVE
1497 002000 DLSRD= BIT10 ; SECONDARY RECEIVED DATA
1498 000200 DLRD= BIT7 ; RECEIVER DONE
1499 000100 DLRIE= BIT6 ; RECEIVER INTERRUPT ENABLE
1500 000040 DLDIE= BIT5 ; DATA SET INTERRUPT ENABLE
1501 000010 DLSTD= BIT3 ; SECONDARY TRANSMITTED DATA
1502 000004 DLRTS= BIT2 ; REQUEST TO SEND
1503 000002 DLDTR= BIT1 ; DATA TERMINAL READY
1504 000001 DLRE= BIT0 ; READER ENABLE
1505
1506 ; BIT DEFINITIONS FOR "DLRBUF"- RECEIVER BUFFER.
1507
1508 100000 DLERR= BIT15 ; ERROR
1509 040000 DLORE= BIT14 ; OVERRUN ERROR
1510 020000 DLFE= BIT13 ; FRAMING ERROR
1511 010000 DLRDPE= BIT12 ; RECEIVED DATA PARITY ERROR
1512 000000 DLRDS= 0 ; RECEIVED DATA SHIFT
1513 000377 DLRDM= 377 ; RECEIVED DATA MASK
1514
1515 ; BIT DEFINITIONS FOR "DLXCSR"- TRANSMITTER CONTROL STATUS REGISTER.
1516
1517 000200 DLTR= BIT7 ; TRANSMITTER READY
1518 000100 DLTIE= BIT6 ; TRANSMITTER INTERRUPT ENABLE
1519 000004 DLMAIN= BIT2 ; MAINTENANCE
1520 000001 DLBRK= BIT0 ; BREAK
1521
1522 ; BIT DEFINITIONS FOR "DLXBUF"- TRANSMITTER BUFFER.
1523
1524 000000 DLTDS= 0 ; TRANSMITTER DATA SHIFT
1525 000377 DLTDM= 377 ; TRANSMITTER DATA MASK
1526
1527 ;.NLIST
1528 .ENDC ;DLASB
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 46
PRM11 PAL[KL,SYS] Page 35.1 DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1529 ;.LIST
1530 ;.NLIST
1531 .IF DF DHASB
1532 ;.LIST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 47
PRM11 PAL[KL,SYS] Page 36 DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1533 .SBTTL DH11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1534
1535 DHIVBA= 300 ; INTERRUPT VECTOR BASE ADDRESS
1536 DHRIV= 0 ; RECEIVER VECTOR ADDRESS
1537 DHTIV= DHRIV+4 ; TRANSMITTER VECTOR ADDRESS
1538 DHBA= 160020 ; BASE FOR DEVICE ADDRESSES
1539 DHSCR= 0 ; SYSTEM CONTROL REGISTER
1540 DHNRCR= 2 ; NEXT RECEIVER CHARACTER REGISTER
1541 DHLPR= 4 ; LINE PARAMETER REGISTER
1542 DHCAR= 6 ; CURRENT ADDRESS REGISTER
1543 DHBCR= 10 ; BYTE COUNT REGISTER
1544 DHBAR= 12 ; TRANSMIT BUFFER ACTIVE REGISTER
1545 DHTBR= 14 ; TRANSMIT BREAK REGISTER
1546 DHSSR= 16 ; SILO STATUS REGISTER
1547
1548 ; BIT DEFINITIONS FOR "DHSCR"- STATUS CONTROL REGISTER.
1549
1550 DHTI= BIT15 ; TRANSMITTER INTERRUPT
1551 DHSI= BIT14 ; STORAGE INTERRUPT
1552 DHTNIE= BIT13 ; TRANSMITTER AND NON-X-MEM INTERRUPT ENABLE
1553 DHSIE= BIT12 ; STORAGE INTERRUPT ENABLE
1554 DHMC= BIT11 ; MASTER CLEAR
1555 DHNXM= BIT10 ; NON-X-MEM
1556 DHMAIN= BIT9 ; MAINTENANCE
1557 DHCNXM= BIT8 ; CLEAR NON-X-MEM BIT
1558 DHRI= BIT7 ; RECEIVER INTERRUPT
1559 DHRIE= BIT6 ; RECEIVER INTERRUPT ENABLE
1560 DHMES= 4 ; MEMORY EXTENSION SHIFT
1561 DHMEM= 60 ; MEMORY EXTENSION MASK
1562 DHLSS= 0 ; LINE SELECTION SHIFT
1563 DHLSM= 17 ; LINE SELECTION MASK
1564
1565 ; BIT DEFINITIONS FOR "DHNRCR"- NEXT RECEIVER CHARACTER REGISTER.
1566
1567 DHDP= BIT15 ; DATA PRESENT
1568 DHORE= BIT14 ; OVERRUN ERROR
1569 DHFE= BIT13 ; FRAMING ERROR
1570 DHRDPE= BIT12 ; RECEIVER DATA PARITY ERROR
1571 DHRLNS= 10 ; RECEIVER LINE NUMBER SHIFT
1572 DHRLNM= 7400 ; RECEIVER LINE NUMBER MASK
1573 DHRDS= 0 ; RECEIVER DATA SHIFT
1574 DHRDM= 377 ; RECEIVER DATA MASK
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 48
PRM11 PAL[KL,SYS] Page 37 DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1575 ; BIT DEFINITIONS FOR "DHLPR"- LINE PARAMETER REGISTER.
1576
1577 DHAEE= BIT15 ; AUTO-ECHO ENABLE
1578 DHHD= BIT14 ; HALF-DUPLEX
1579 DHTSS= 12 ; TRANSMITTER SPEED SHIFT
1580 DHTSM= 36000 ; TRANSMITTER SPEED MASK
1581 DHRSS= 6 ; RECEIVER SPEED SHIFT
1582 DHRSM= 1700 ; RECEIVER SPEED MASK
1583 DHEP= BIT5 ; EVEN PARITY
1584 DHPE= BIT4 ; PARITY ENABLE
1585 DHTSB= BIT2 ; TWO STOP BITS
1586 DHCLS= 0 ; CHARACTER LENGTH SHIFT
1587 DHCLM= 3 ; CHARACTER LENGTH MASK
1588 DHCL5= 0 ; CHARACTER LENGTH - 5 BITS
1589 DHCL6= 1 ; CHARACTER LENGTH - 6 BITS
1590 DHCL7= 2 ; CHARACTER LENGTH - 7 BITS
1591 DHCL8= 3 ; CHARACTER LENGTH - 8 BITS
1592
1593 ; BIT DEFINITIONS FOR "DHSSR"- SILO STATUS REGISTER.
1594
1595 DHSFLS= 10 ; SILO FILL LEVEL SHIFT
1596 DHSFLM= 37400 ; SILO FILL LEVEL MASK
1597 DHREMS= 6 ; READ EXTENDED MEMORY SHIFT
1598 DHREMM= 300 ; READ EXTENDED MEMORY MASK
1599 DHSALS= 0 ; SILO ALARM LEVEL SHIFT
1600 DHSALM= 77 ; SILO ALARM LEVEL MASK
1601
1602 ;.NLIST
1603 .ENDC ;DHASB
1604 ;.LIST
1605 ;.NLIST
1606 .IF DF TAASB
1607 ;.LIST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 49
PRM11 PAL[KL,SYS] Page 38 DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1608 .SBTTL TA11 (CASSETTE) DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
1609
1610 TACS= 177500 ;CONTROL AND STATUS REGISTER
1611 TADB= TACS+2 ;DATA BUFFER REGISTER
1612
1613 TAIV= 260 ;INTERRUPT VECTOR
1614
1615 ; BIT ASSIGNMENTS WITHIN THE CONTROL AND STATUS REGISTER
1616
1617 TAGO= 1 ;GO = START OPERATION
1618 TAFUNC= 16 ;"FUNCTION TO BE PERFORMED" FIELD
1619 TAWFG= 0*2 ;"WRITE FILE GAP" FUNCTION
1620 TAWRIT= 1*2 ;"WRITE DATA" FUNCTION
1621 TAREAD= 2*2 ;"READ DATA" FUNCTION
1622 TASRF= 3*2 ;"SPACE REVERSE FILE" FUNCTION
1623 TASRB= 4*2 ;"SPACE REVERSE BLOCK (RECORD)" FUNCTION
1624 TASFF= 5*2 ;"SPACE FORWARD FILE" FUNCTION
1625 TASFB= 6*2 ;"SPACE REVERSE BLOCK (RECORD)" FUNCTION
1626 TAREWD= 7*2 ;"REWIND" FUNCTION
1627 TAILBS= 20 ;INITIATE LAST BYTE SEQUENCE
1628 TAREDY= 40 ;READY
1629 TAINTE= 100 ;INTERRUPT ENABLE
1630 TARQST= 200 ;TRANSFER REQUEST
1631 TAUNIT= 400 ;UNIT SELECTION
1632 TAOFFL= 1000 ;UNIT OFF LINE
1633 TATERR= 2000 ;TIMING ERROR (LOST DATA)
1634 TAFGAP= 4000 ;FILE GAP
1635 TALOCK= 10000 ;WRITE LOCKED
1636 TALEAD= 20000 ;CLEAR LEADER
1637 TABCHK= 40000 ;BLOCK CHECK (BAD CRC AFTER READ)
1638 TAEROR= 100000 ;ERROR (ERROR SUMMARY BIT)
1639
1640 ;.NLIST
1641 .ENDC ;TAASB
1642 ;.LIST
1643 ;.NLIST
1644 .IF DF RXASB
1645 ;.LIST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 50
PRM11 PAL[KL,SYS] Page 39 DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1646 .SBTTL RX11/RX01 (FLOPPY) REGISTERS AND BIT DEFINITIONS, 22-JULY-75
1647
1648 ;RX11 STANDARD DEVICE ADDRESSES
1649
1650 RXCS= 177170 ;COMMAND STATUS REGISTER
1651 RXDB= 177172 ;DATA BUFFER REGISTER
1652 RXSA= 177172 ;SECTOR ADDRESS REGISTER
1653 RXTA= 177172 ;TRACK ADDRESS REGISTER
1654 RXES= 177172 ;ERROR STATUS REGISTER
1655
1656 RXIV= 264 ;INTERRUPT VECTOR ADDRESS
1657
1658 ;RX11 FUNCTION CODES
1659
1660 RXFBUF= 0 ;FILL BUFFER
1661 RXEBUF= 2 ;EMPTY BUFFER
1662 RXWSEC= 4 ;WRITE SECTOR
1663 RXRSEC= 6 ;READ SECTOR
1664 RXRSTAT=12 ;READ STATUS
1665 RXWDDS= 14 ;WRITE DELETED DATA SECTOR
1666 RXRERR= 16 ;READ ERROR REGISTER
1667
1668 ;RX11 COMMAND AND STATUS REGISTER BIT DEFINITIONS
1669
1670 RXGO= 1 ;GO
1671 RXU1= 20 ;RX01 UNIT # 1
1672 RXDONE= 40 ;DONE
1673 RXIE= 100 ;INTERRUPT ENABLE
1674 RXTREQ= 200 ;TRANSFER REQUEST
1675 RXINI= 40000 ;INITIALIZE
1676 RXERROR=100000 ;ERROR
1677
1678 ;RX11 ERROR STATUS REGISTER BIT DEFINITIONS
1679
1680 RXCRCE= 1 ;CRC ERROR
1681 RXPARE= 2 ;PARITY ERROR
1682 RXIDONE=4 ;INITIALIZE DONE
1683 RXDDD= 100 ;DELETED DATA DETECTED
1684 RXDRDY =200 ;DRIVE READY
1685
1686 ;.NLIST
1687 .ENDC ;RXASB
1688 ;.LIST
1689 ;.NLIST
1690 .IF DF TCASB
1691 ;.LIST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 51
PRM11 PAL[KL,SYS] Page 40 TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1692 .SBTTL TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1693
1694 ;DECTAPE PARAMETERS
1695
1696 010000 TCILO= BIT12 ;ILLEGAL OPERATION
1697 004000 TCSELE= BIT11 ;SELECTION ERROR
1698 000100 TCIE= BIT6 ;INTERRUPT ENABLE
1699 000001 TCDO= BIT0 ;DO OPERATION
1700 000004 TCRDATA=BIT2 ;READ DATA
1701 000014 TCWDATA=BIT3+BIT2 ;WRITE DATA
1702 000002 TCRNUM= BIT1 ;READ BLOCK NUMBER
1703 004000 TCREV= BIT11 ;REVERSE DIRECTION
1704 040000 TCPAR= BIT14 ;PARITY ERROR
1705 002000 TCBLKM= BIT10 ;BLOCK MISSED
1706 001000 TCDATM= BIT9 ;DATA MISSED
1707 020000 TCMTE= BIT13 ;MARK TRACK ERROR
1708 100000 TCERR= BIT15 ;DECTAPE ERROR
1709 000200 TCRDY= BIT7 ;READY
1710
1711 063000 TCSOFT= TCPAR+TCBLKM+TCDATM+TCMTE
1712
1713 177340 TCST= 177340 ;STATUS REGISTER
1714 177342 TCCM= 177342 ;COMMAND REGISTER
1715 177343 TCCM1= 177343 ;COMMAND UPPER BYTE
1716 177344 TCWC= 177344 ;WORD COUNT REGISTER
1717 177346 TCBA= 177346 ;BUS MEMORY ADDRESS
1718 177350 TCDT= 177350 ;DATA REGISTER
1719
1720 ;.NLIST
1721 .ENDC ;TCASB
1722 ;.LIST
1723 ;.NLIST
1724 .IF DF RPASB
1725 ;.LIST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 52
PRM11 PAL[KL,SYS] Page 41 TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1726 .SBTTL RH11/RP04 REGISTER AND BIT DEFINITIONS, 4-JUNE-75
1727
1728 BLKSIZ= 256. ;DISK BLOCK SIZE (IN 16-BIT WORDS)
1729 IFESIZ= 3 ;INDEX FILE ENTRY SIZE (IN 16-BIT WORDS)
1730 FDESIZ= 16. ;FILE DIRECTORY ENTRY SIZE (IN 16-BIT WORDS)
1731
1732 RPCS1= 0 ;OFFSET TO RH11/RP04 CONTROL & STATUS REGISTER 1
1733 RPTRE= BIT14 ;"TRANSFER ERROR" BIT IN RPCS1
1734 RPMCPE= BIT13 ;"MASSBUS CONTROL BUS PARITY ERROR" BIT IN RPCS1
1735 RPDVA= BIT11 ;"DRIVE AVAILABLE" BIT IN RPCS1
1736 RPRDY= BIT7 ;"CONTROLLER READY" BIT IN RPCS1
1737 RPPRST= 21 ;READ-IN PRESET FUNCTION IN RPCS1
1738 RPPACK= 23 ;PACK ACKNOWLEDGE (SET VV) FUNCTION IN RPCS1
1739 RPWTFN= 61 ;WRITE DATA FUNCTION IN RPCS1
1740 RPRDFN= 71 ;READ DATA FUNCTION IN RPCS1
1741
1742 RPWC= 2 ;OFFSET TO RH11/RP04 WORD COUNT REGISTER
1743
1744 RPBA= 4 ;OFFSET TO RH11/RP04 UNIBUS ADDRESS REGISTER
1745
1746 RPDA= 6 ;OFFSET TO RH11/RP04 TRACK & SECTOR ADDRESS REGISTER
1747
1748 RPCS2= 10 ;OFFSET TO RH11/RP04 CONTROL & STATUS REGISTER 2
1749 RPCLR= BIT5 ;"CONTROLLER (AND MASSBUS) CLEAR" BIT IN RPCS2
1750
1751 RPDS= 12 ;OFFSET TO RH11/RP04 DRIVE STATUS REGISTER
1752 RPATA= BIT15 ;"ATTENTION ACTIVE" BIT IN RPDS
1753 RPERR= BIT14 ;"COMPOSITE ERROR" BIT IN RPDS
1754 RPMOL= BIT12 ;"MEDIUM ON-LINE" BIT IN RPDS
1755 RPDPR= BIT8 ;"DRIVE PRESENT" BIT IN RPDS
1756 RPDRY= BIT7 ;"DRIVE READY" BIT IN RPDS
1757 RPVV= BIT6 ;"VOLUME VALID" BIT IN RPDS
1758
1759 RPOF= 32 ;OFFSET TO RH11/RP04 OFFSET REGISTER (CONTAINING FMT22)
1760 RPFMT= BIT12 ;"FMT22" (16-BIT WORDS) BIT IN RPOF
1761 RPECI= BIT11 ;"ERROR CORRECTION CODE INHIBIT" BIT IN RPOF
1762
1763 RPDC= 34 ;OFFSET TO RH11/RP04 DESIRED CYLINDER REGISTER
1764
1765 ;.NLIST
1766 .ENDC ;RPASB
1767 ;.LIST
1768 ;.NLIST
1769 .IF DF LPASB
1770 ;.LIST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 53
PRM11 PAL[KL,SYS] Page 42 TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1771 .SBTTL LP20 REGISTER AND BIT DEFINITIONS, 27-JUNE-75
1772
1773 LP20A= 177440 ;LP20 1ST CONTROLLER ADDRESS
1774 LP20B= 177460 ;LP20 2ND CONTROLLER ADDRESS
1775 LPAVEC= 210 ;LP20A INTERRUPT VECTOR
1776 LPBVEC= 200 ;LP20B INTERRUPT VECTOR
1777
1778 LPCSRA= 0 ;OFFSET TO LP20 PRIMARY STATUS REGISTER
1779 LPERR= BIT15 ;"ERROR" BIT IN LPCSRA
1780 LPPZRO= BIT14 ;"PAGZRO" BIT IN LPCSRA
1781 LPUCHR= BIT13 ;"UNDCHR" BIT IN LPCSRA
1782 LPVRDY= BIT12 ;"UNDCHR" BIT IN LPCSRA
1783 LPONLN= BIT11 ;"ONLINE" BIT IN LPCSRA
1784 LPDELH= BIT10 ;"DELHLD" BIT IN LPCSRA
1785 LPLINI= BIT9 ;"LOINIT" BIT IN LPCSRA
1786 LPRERR= BIT8 ;"RSTERR" BIT IN LPCSRA
1787 LPDONE= BIT7 ;"DONE" BIT IN LPCSRA
1788 LPIENB= BIT6 ;"INTENB" BIT IN LPCSRA
1789 LPBA17= BIT5 ;"BUSA17" BIT IN LPCSRA
1790 LPBA16= BIT4 ;"BUSA16" BIT IN LPCSRA
1791 LPVLOD= BIT3 ;"VFULOD" BIT IN LPCSRA
1792 LPTMOD= BIT2 ;"TSTMOD" BIT IN LPCSRA
1793 LPPENB= BIT1 ;"PARENB" BIT IN LPCSRA
1794 LPGO= BIT0 ;"GO" BIT IN LPCSRA
1795
1796 LPCSRB= 2 ;OFFSET TO LP20 ERROR AND TEST REGISTER
1797 LPTPBT= BIT12 ;"LPTPBT" BIT IN LPCSRB
1798 LPT02= BIT10 ;"TEST02" BIT IN LPCSRB
1799 LPT01= BIT9 ;"TEST01" BIT IN LPCSRB
1800 LPT00= BIT8 ;"TEST00" BIT IN LPCSRB
1801 LPOFFL= BIT7 ;"OFFLIN" BIT IN LPCSRB
1802 LPVERR= BIT6 ;"VFUERR" BIT IN LPCSRB
1803 LPTPAR= BIT5 ;"LPTPAR" BIT IN LPCSRB
1804 LPMPAR= BIT4 ;"MEMPAR" BIT IN LPCSRB
1805 LPRPAR= BIT3 ;"RAMPAR" BIT IN LPCSRB
1806 LPSYNT= BIT2 ;"SYNTIM" BIT IN LPCSRB
1807 LPDEMT= BIT1 ;"DEMTIM" BIT IN LPCSRB
1808 LPGOER= BIT0 ;"GOERR" BIT IN LPCSRB
1809
1810 LPBSAD= 4 ;OFFSET TO LP20 DMA BUS ADDRESS REGISTER
1811
1812 LPBCTR= 6 ;OFFSET TO LP20 DMA BYTE COUNTER REGISTER
1813
1814 LPPCTR= 10 ;OFFSET TO LP20 PAGE COUNTER REGISTER
1815
1816 LPRAMD= 12 ;OFFSET TO LP20 RAM DATA REGISTER
1817
1818 LPCBUF= 14 ;OFFSET TO LP20 CHAR BUFFER REGISTER (BYTE)
1819 LPCCTR= 15 ;OFFSET TO LP20 COLUMN COUNTER REGISTER (BYTE)
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 54
PRM11 PAL[KL,SYS] Page 42.1 TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
1820
1821 LPCKSM= 16 ;OFFSET TO LP20 CHECKSUM REGISTER (BYTE)
1822 LPPDAT= 17 ;OFFSET TO LP20 PRINTER DATA REGISTER (BYTE)
1823 ;.NLIST
1824 .ENDC ;LPASB
1825 ;.LIST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 55
PRM11 PAL[KL,SYS] Page 43 EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.
1826 .SBTTL EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.
1827
1828 160020 ENOWC=160020 ; ETHERNET DEVICE OUTPUT WORD COUNT REG
1829 160022 ENOWA=ENOWC+2 ; ETHERNET DEVICE OUTPUT WORD ADDR REG
1830 160024 ENOCSR=ENOWC+4 ; ETHERNET DEVICE OUTPUT CONTROL STATUS REG
1831 160026 ENODLY=ENOWC+6 ; ETHERNET DEVICE OUTPUT DELAY REG
1832 ;
1833 160030 ENIWC=ENOWC+10 ; ETHERNET DEVICE INPUT WORD COUNT REG
1834 160032 ENIWA=ENOWC+12 ; ETHERNET DEVICE INPUT WORD ADDRESS REG
1835 160034 ENICSR=ENOWC+14 ; ETHERNET DEVICE INPUT CONTROL STATUS REG
1836 160036 ENIADR=ENOWC+16 ; ETHERNET DEVICE HARDWARE ADDRESS REGISTER
1837 ;
1838 000454 EN0BSZ=300. ; MAXIMUM SIZE OF ETHERNET INPUT BUFFER
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 56
PRM11 PAL[KL,SYS] Page 44 EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.
1839 ;DSKDMP BOOTSTRAP PARAMETERS
1840
1841 000620 BOOTWD==400.
1842 002260 BOOTSZ==BOOTWD*3 ;NUMBER OF PDP-11 WORDS THAT BOOT OCCUPIES
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 57
KLDCP PAL[KL,SYS] Page 5.1 EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.
1843
1844 ;Starting vectors & other constant code
1845 .INSRT BEG11.PAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 58
BEG11 PAL[KL,SYS] Page 1 EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.
1846 COMMENT ⊗ VALID 00002 PAGES
1847 C REC PAGE DESCRIPTION
1848 C00001 00001
1849 C00002 00002 .SBTTL *BEGIN* PROGRAM CONTROL, 4-AUG-75
1850 C00005 ENDMK
1851 C⊗;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 59
BEG11 PAL[KL,SYS] Page 2 *BEGIN* PROGRAM CONTROL, 4-AUG-75
1852 .SBTTL *BEGIN* PROGRAM CONTROL, 4-AUG-75
1853
1854 100000 .=PRGSRT
1855 ;STARTING ADDRESS
1856
1857 100000 000137 114570 START: JMP @#$SBRINT ;NORMAL START (near maximum violence)
1858 100004 000137 100602 $CNTLC: JMP @#$$CNTLC ;CTRL/C (a normal, not too violent restart)
1859 100010 000137 114522 $ILOAD: JMP $$ILOAD ;INITIAL LOAD (redo checksum, then $SBRINT)
1860 100014 000137 100332 $CONSL: JMP $$CONSL ;RETURN TO CONSOLE (pussycat)
1861
1862 ;DEVICE ADDRESS PARAMETERS
1863
1864 100020 177560 $TKS: 177560 ;TTY KBD STATUS
1865 100022 177562 $TKB: 177562 ;TTY KBD BUFFER
1866 100024 177564 $TPS: 177564 ;TTY PRINTER STATUS
1867 100026 177566 $TPB: 177566 ;TTY PRINTER BUFFER
1868
1869 .IF DF LPASB
1870 $LPS: 177514 ;LP11 - LINE PRINTER STATUS
1871 $LPB: 177516 ;LP11 - LINE PRINTER BUFFER
1872 .ENDC
1873
1874 .IF DF TELASB
1875 100030 175610 $FSTKS: 175610 ;FIELD SERVICE KLINIK INPUT STATUS
1876 100032 175612 $FSTKB: 175612 ;FIELD SERVICE KLINIK INPUT BUFFER
1877 100034 175614 $FSTPS: 175614 ;FIELD SERVICE KLINIK OUTPUT STATUS
1878 100036 175616 $FSTPB: 175616 ;FIELD SERVICE KLINIK OUTPUT BUFFER
1879 100040 000300 $FSTRV: 300 ;FIELD SERVICE TELETYPE RECEIVE VECTOR
1880 100042 000304 $FSTTV: 304 ;FIELD SERVICE TELETYPE TRANSMIT VECTOR
1881 .ENDC
1882
1883 .IF DF CLKASB
1884 100044 160770 $CLKMD: 160770 ;MONTH/DAY
1885 100046 160772 $CLKHM: 160772 ;HOURS/MINUTES
1886 100050 160774 $CLKSEC:160774 ;YEAR/SECONDS
1887 100052 160776 $CLKST: 160776 ;STATUS
1888 100054 000170 $CLKTV: 170 ;TRAP VECTOR
1889 .ENDC
1890
1891 .IF DF MONASB
1892 $CMTKS: 175620 ;COMM INPUT STATUS
1893 $CMTKB: 175622 ;COMM INPUT BUFFER
1894 $CMTPS: 175624 ;COMM OUTPUT STATUS
1895 $CMTPB: 175626 ;COMM OUTPUT BUFFER
1896 .ENDC
1897
1898 .LIF DF RPASB
1899 RPRH11: 176700 ;RH11 CONTROLLER ADDRESS
1900
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 60
BEG11 PAL[KL,SYS] Page 2.1 *BEGIN* PROGRAM CONTROL, 4-AUG-75
1901 ;PDP-10 KL10 PARAMETERS
1902
1903 100056 777777 TENMO: -1 ;PDP-10 MINUS ONE
1904 100060 777777 -1
1905 100062 000017 17
1906
1907 100064 000440 TDIAG: $STD ;DIAGNOSTIC START ADDRESS
1908 100066 000000 0
1909
1910 100070 000441 TDDT: $DDT ;DDT START ADDRESS
1911 100072 000000 0
1912
1913 100074 000442 TLDR: $STL ;LOADER START ADDRESS
1914 100076 000000 0
1915
1916 100100 000443 TMON: $STM ;MONITOR START ADDRESS
1917 100102 000000 0
1918
1919 100104 060650 EMTIMO: 25000. ;EM/DM TIMEOUT COUNT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 61
KLDCP PAL[KL,SYS] Page 5.2 *BEGIN* PROGRAM CONTROL, 4-AUG-75
1920
1921 ;console code
1922 .INSRT CONS11.PAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 62
CONS11 PAL[KL,SYS] Page 1 *BEGIN* PROGRAM CONTROL, 4-AUG-75
1923 COMMENT ⊗ VALID 00061 PAGES
1924 C REC PAGE DESCRIPTION
1925 C00001 00001
1926 C00006 00002 .SBTTL CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75
1927 C00008 00003 $KONSL: TTIBRK GET BREAK CHAR FROM LAST OPERATION
1928 C00010 00004 $$CONSL:CLR RPTFLG Start here from 100014
1929 C00013 00005 3$: MOVB #40,$KDCEN+1 MAKE SINGLE LETTER COMMAND
1930 C00015 00006 .SBTTL CONSOLE DISPATCH TABLE
1931 C00023 00007 DISPATCH TABLE
1932 C00028 00008 .SBTTL DIAGNOSIC CONSOLE UTILITY COMMAND PROCESS
1933 C00030 00009 .SBTTL CONSOLE COMMAND REPEAT CONTROL
1934 C00031 00010 .SBTTL PROGRAM CONSOLE COMMAND PROCESS
1935 C00033 00011 PROGRAM INDIRECT CCL FILE PROCESS
1936 C00035 00012 .SBTTL DIAGNOSTIC FUNCTIONS
1937 C00037 00013 DIAGNOSTIC READ AND PRINT
1938 C00038 00014 .DFDP: DFLEGAL FUNCTION LEGAL ?
1939 C00039 00015 .AR: TTICHR
1940 C00040 00016 .BR: TTICHR
1941 C00042 00017 .PC: TTICHR
1942 C00043 00018 .VM: DFLEGAL FUNCTION LEGAL ?
1943 C00044 00019 PCF COMMAND - PRINT PC FLAGS
1944 C00047 00020 .FE: TTITRM
1945 C00048 00021 PRINT PRIORITY INTERRUPT FUNCTIONS
1946 C00050 00022 PRINT ALL - C-RAM & REGISTERS
1947 C00052 00023 .SBTTL PDP-10 START/STOP FUNCTIONS
1948 C00054 00024 START PDP-10 DDT
1949 C00057 00025 PULSE THE E-BOX CLOCK
1950 C00059 00026 EXECUTE A PDP10 INSTRUCTION.
1951 C00060 00027 PNTCPU PRINT C-RAM & REGISTERS
1952 C00062 00028 SELECT CLOCK SOURCE
1953 C00063 00029 PROCESSOR PARITY DISABLE
1954 C00064 00030 PROCESSOR PARITY ENABLE
1955 C00066 00031 MICRO-CODE SYNC MARK ROUTINES
1956 C00067 00032 MICRO-CODE TIME FIELD CHANGE ROUTINE
1957 C00068 00033 CACHE ENABLE
1958 C00070 00034 AC BLOCK SELECTION
1959 C00073 00035 START PDP10 AT ADDRESS SPECIFIED AS LOWER 18 BITS OF 36-BIT ARGUMENT.
1960 C00077 00036 .SBTTL PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS
1961 C00079 00037 MEMORY ZERO
1962 C00081 00038 .EXM: MOV #.DPXAD,R5
1963 C00083 00039 .SBTTL CONSOLE IDLE RUN LOOP
1964 C00086 00040 MONITOR TELETYPE CHARACTER INPUT -- MTTYIN MTTYI0 MTTYI1 C10DN1 MTTYER MTTYOC MTTYO MTTYP MTTYX MTTYC MTTYCF $MC
1965 MTTYS C10DN2
1966 C00089 00041 .SBTTL PDP-10 RUN TIME SUPPORT TENCMD CMD10T C10DON
1967 C00091 00042 C10DNX, TENCERR
1968 C00093 00043 C10TO, C10TI
1969 C00095 00044 Switch functions. C10SW
1970 C00098 00045 C10PRG C10PT C10P2 C10P1 C10X1 C10P3 C10P4 C10P5 C10KAS KASET
1971 C00100 00046 Clock operations. C10CLK
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 63
CONS11 PAL[KL,SYS] Page 1.1 *BEGIN* PROGRAM CONTROL, 4-AUG-75
1972 C00110 00047 PDP-10 SWITCH REGISTER
1973 C00112 00048 .SBTTL PDP-10 PROGRAM COMMAND
1974 C00114 00049 "DIAMON" FILE READ
1975 C00116 00050 .SBTTL PDP-11 CONSOLE FUNCTIONS
1976 C00117 00051 EXAMINE ELEVEN AT ADDRESS GIVEN
1977 C00120 00052 DEPOSIT ELEVEN DATA
1978 C00121 00053 .SBTTL KL10 MONITOR & ACT10 COMMAND ROUTINES
1979 C00123 00054 .IF DF MONASB
1980 C00125 00055 SRT11X: MOV PGOADR,SEADR
1981 C00127 00056 .IF DF MONASB
1982 C00129 00057 ADRERR: PMSG <?ADR>
1983 C00130 00058 .SBTTL LINE PRINTER SELECTION ROUTINE
1984 C00134 00059 .SBTTL CONSOLE TELETYPE FUNCTIONS
1985 C00135 00060 .SBTTL KLINIK FIELD SERVICE REMOTE DIAGNOSTICS ENABLE
1986 C00137 00061 .SBTTL FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU
1987 C00144 ENDMK
1988 C⊗;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 64
CONS11 PAL[KL,SYS] Page 2 CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75
1989 .SBTTL CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75
1990
1991 100106 012737 000140 177776 CONSL: MOV #CPUPR,PS ;SET CPU PRIORITY.
1992 100114 012706 157776 MOV #STACK,SP ;RESET STACK
1993 100120 012700 122754 MOV #$STUF,R0 ;SETUP FOR STACK UNDERFLOW
1994 100124 010016 MOV R0,(SP)
1995 1$: PUSH R0
1996
1997 100130 010637 147736 MOV SP,$KONSP
1998
1999 100134 013706 147736 KONSL: MOV $KONSP,SP ;RESET STACK POINTER
2000
2001 100140 012737 104000 147424 .IIF NE EPTREL, MOV #PHYS!PRTOFF,$TADSP ;DEFAULT ADDR MODE FOR EXDEP
2002
2003 100146 104217 TTPINI ;INIT TTY POINTERS
2004
2005 100150 005037 147740 CLR DDTFLG
2006 100154 005037 147624 CLR IFILEF
2007 100160 005037 150722 CLR HLPPNT
2008 100164 005037 152214 CLR PCMDFLG
2009 100170 104043 PFORCE ;ALL OUTPUT TO TTY
2010
2011 100172 004737 115174 JSR PC,$CKSUM ;COMPUTE CHECKSUM OF "KLDCP"
2012
2013 100176 020037 157314 CMP R0,$ILDSUM ;DOES IT MATCH AS LOADED ?
2014 100202 001404 BEQ 2$ ;YES, OK !!!!
2015
2016 100204 010037 157314 MOV R0,$ILDSUM ;NO, ONLY REPORT CHANGES
2017 PMSG <?"KLDCP" CKSUM\>
2018 100210 104025 $PMSG
2019 100212 144720 $$CLIT
2020
2021 100214 005737 147620 2$: TST JFILEF
2022 100220 001044 BNE $$CONSL
2023 PMSG <CMD:\>
2024 100222 104025 $PMSG
2025 100224 144740 $$CLIT
2026 100226 000441 BR $$CONSL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 65
CONS11 PAL[KL,SYS] Page 3 CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75
2027 100230 104015 $KONSL: TTIBRK ;GET BREAK CHAR FROM LAST OPERATION
2028 100232 103454 BCS $KONS1 ;NO DATA
2029 100234 122700 000054 CMPB #',,R0 ;WAS LAST BREAK A COMMA ?
2030 100240 001506 BEQ $RPT ;BR IF YES, CONTINUE STRING PROCESS
2031 100242 122700 000040 CMPB #' ,R0 ;WAS LAST BREAK A SPACE ?
2032 100246 001503 BEQ $RPT ;YES, CONTINUE STRING PROCESS
2033 100250 122700 000011 CMPB #TAB,R0 ;WAS LAST BREAK A TAB ?
2034 100254 001500 BEQ $RPT ;YES, CONTINUE STRING PROCESS
2035 100256 005700 TST R0
2036 100260 001411 BEQ 11$ ;NULL, EOL
2037 100262 022700 000012 CMP #LF,R0 ;IS IT LF ?
2038 100266 001406 BEQ 11$ ;YES
2039 100270 022700 000033 CMP #ALTMOD,R0
2040 100274 001403 BEQ 11$ ;IS IT ALTMODE ?
2041 100276 022700 000015 CMP #CR,R0 ;IS IT A CR ?
2042 100302 001011 BNE 2$ ;NO, INVALID TERMINATION
2043
2044 100304 005737 147732 11$: TST RPTFLG ;PRESENTLY DOING A REPEAT ?
2045 100310 001425 BEQ $KONS1 ;BR IF NO
2046
2047 100312 004737 116546 JSR PC,$PTTYC ;CHECK OPERATOR INTERRUPT
2048
2049 100316 012737 150502 150716 1$: MOV #$INBUF+2,$INPTC ;REPEAT, REDO COMMAND
2050 100324 000454 BR $RPT
2051
2052 100326 000137 100574 2$: JMP $CMDER
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 66
CONS11 PAL[KL,SYS] Page 4 CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75
2053 100332 005037 147732 $$CONSL:CLR RPTFLG ;Start here from 100014
2054 100336 005037 151124 CLR DVDIRF ;CLEAR DEVICE DIRECTORY FLAG
2055
2056 ;IN CASE OF START AT 100000+X FROM CONSOLE
2057 .IF DF TELASB
2058 100342 032777 000004 777460 BIT #DLRTS,@$FSTKS
2059 100350 001002 BNE 1$ ;RTS STILL SET, ASSUME OK
2060 100352 004737 114040 JSR PC,HANGU1 ;RTS OFF, MUST HAVE BEEN RANDOM INIT, SO HANGUP
2061 1$:
2062 .ENDC ;DF TELASB
2063 .LIF DF SAILVR
2064 100356 052737 000100 177546 BIS #100,KWLKS ;SET CLOCK INTERRUPT ENABLE
2065
2066 100364 005737 152214 $KONS1: TST PCMDFLG ;DOING PROGRAM COMMAND ?
2067 100370 001402 BEQ 1$ ;NO
2068 100372 000137 101526 JMP PCMDE ;YES, RETURN TO PROGRAM
2069 100376 005737 147624 1$: TST IFILEF ;PROCESSING INDIRECT FILE ?
2070 100402 001402 BEQ 2$ ;NO
2071 100404 000137 101666 JMP IFILIN ;YES, GET CHARS FROM STORAGE
2072 100410 005737 147620 2$: TST JFILEF ;DOING DOUBLE INDIRECT ?
2073 100414 100002 BPL $KONS2 ;NO
2074 100416 000137 101730 JMP JFILIN ;YES, GET CHARS FROM STORAGE
2075 100422 010637 147736 $KONS2: MOV SP,$KONSP ;SAVE STACK POINTER
2076 100426 104043 1$: PFORCE
2077 100430 104214 PNTCI
2078 100432 000076 '>
2079 PMSG <. ←>
2080 100434 104025 $PMSG
2081 100436 144746 $$CLIT
2082 100440 104003 2$: RUNLP ;RUN LOOP &/OR READ IN A TTY LINE
2083 100442 103005 BCC $RPT ;RESPONSE, GO PROCESS
2084 100444 022737 150500 150720 CMP #$INBUF,$INPTR ;ANYTHING BEEN TYPED ?
2085 100452 001365 BNE 1$ ;YES, REPROMPT
2086 100454 000771 BR 2$
2087
2088 100456 005037 147734 $RPT: CLR ALLFLG ;CLEAR ALL PRINT FLAG
2089 100462 104016 TTISDL ;READ ONE CHARACTER
2090 100464 103043 BCC $CMDER ;...NUMBER, ILLEGAL
2091 100466 122700 000073 1$: CMPB #';,R0
2092 100472 001717 BEQ $$CONSL ;SEMICOLON, LOCAL COPY ONLY
2093 100474 122700 000056 CMPB #'.,R0
2094 100500 001766 BEQ $RPT ;DOT, IGNORE
2095 100502 110037 101140 MOVB R0,$KDCEN ;PLACE IN END OF DECODER
2096
2097 100506 104005 TTICHR ;READ SECOND CHARACTER
2098 100510 103725 BCS $KONS1 ;EVEN 1 CHAR CMDS ARE 2 CHAR MIN.
2099 100512 122700 000012 CMPB #12,R0 ;IF THIS CHAR IS A LINE FEED
2100 100516 001722 BEQ $KONS1 ;..1ST CHAR MUST HAVE BEEN CR, IGNORE
2101 100520 122700 000015 CMPB #15,R0 ;IF THIS CHAR A CR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 67
CONS11 PAL[KL,SYS] Page 4.1 CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75
2102 100524 001417 BEQ 3$ ;THIS IS A SINGLE LETTER COMMAND
2103 100526 122700 000033 CMPB #33,R0 ;IF ALTMODE
2104 100532 001414 BEQ 3$ ; DITTO
2105 100534 110037 101141 MOVB R0,$KDCEN+1 ;PLACE SECOND IN END OF DECODER
2106
2107 ;THE COMMAND PORTION OF THE INPUT STRING IS READY TO BE DECODED
2108
2109 100540 013700 101140 4$: MOV $KDCEN,R0 ;COMMAND TO R0
2110 100544 012701 100674 MOV #$KDCRE,R1 ;ADDRESS OF LIST TO R1
2111
2112 100550 020021 2$: CMP R0,(R1)+ ;TEST FOR COMMAND
2113 100552 001376 BNE 2$ ;NOT FOUND YET
2114 100554 005037 101140 CLR $KDCEN
2115 .LIF DF MONASB
2116 CLR ENQFLG
2117 100560 000171 000244 JMP @$DISPH-$KDCRE-2(R1) ;EXIT TO SELECTED SUBROUTINE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 68
CONS11 PAL[KL,SYS] Page 5 CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75
2118 100564 112737 000040 101141 3$: MOVB #40,$KDCEN+1 ;MAKE SINGLE LETTER COMMAND
2119 100572 000762 BR 4$ ;LETTER & SPACE FOR LOOKUP
2120
2121 100574 104214 $CMDER: PNTCI
2122 100576 000077 '?
2123 100600 000411 BR $$$CC
2124
2125 100602 005037 151120 $$CNTLC:CLR DIAFLG
2126 100606 105037 147670 CLRB TENRUN ;CLEAR PDP-10 RUNNING FLAG
2127 100612 005737 152214 TST PCMDFLG ;DOING PROGRAM COMMAND ?
2128 100616 001002 BNE $$$CC ;YES
2129 100620 005037 147614 CLR PRGRUN ;CLEAR PROGRAM RUNNING FLAG
2130 100624 104055 $$$CC: SETFLG
2131 100626 147764 $TTLKF
2132 100630 005737 157310 TST DEVTYP ;IN ACT10 MODE ?
2133 100634 100000 BPL 1$ ;NO
2134 .IF DF MONASB
2135 TST ENQFLG ;DOING APT10 COMMAND ?
2136 BEQ 1$ ;NO
2137 COMCLR ;ACT10, CLEAR COMM, THEN TO CONSL
2138 .ENDC
2139 1$: PUSH $FORCE ;SAVE FORCED PRINTING FLAG
2140 100642 104043 PFORCE
2141 100644 104031 PCRLF ;FORCE PRINT ERROR
2142 POP $FORCE ;RESTORE
2143
2144 100652 005737 152214 TST PCMDFLG ;DOING PROGRAM COMMAND ?
2145 100656 001402 BEQ 2$ ;NO
2146 100660 000137 101546 JMP PCMDE1 ;YES, TAKE ERROR RETURN
2147
2148 100664 005037 147620 2$: CLR JFILEF ;CLEAR DOUBLE INDIRECT FLAG
2149 100670 000137 100134 JMP KONSL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 69
CONS11 PAL[KL,SYS] Page 6 CONSOLE DISPATCH TABLE
2150 .SBTTL CONSOLE DISPATCH TABLE
2151
2152 100674 122
2153 100675 040
2154 $KDCRE: .ASCII /R / ;REPEAT OPERATOR
2155 100676 106
2156 100677 130
2157 .ASCII /FX/ ;DIAGNOSTIC FUNCTION EXECUTE
2158 100700 106
2159 100701 127
2160 .ASCII /FW/ ;DIAGNOSTIC FUNCTION WRITE
2161 100702 106
2162 100703 122
2163 .ASCII /FR/ ;DIAGNOSTIC FUNCTION READ
2164 100704 106
2165 100705 123
2166 .ASCII /FS/ ;DIAGNOSTIC FUNCTION SYNC
2167 100706 104
2168 100707 101
2169 .ASCII /DA/ ;DIAGNOSTIC DEPOSIT INTO AR
2170 100710 105
2171 100711 130
2172 .ASCII /EX/ ;PDP-10 INSTRUCTION EXECUTE
2173 100712 115
2174 100713 122
2175 .ASCII /MR/ ;MASTER RESET
2176
2177 ;PDP-10 EXAMINE/DEPOSIT FUNCTIONS
2178
2179 100714 105
2180 100715 115
2181 .ASCII /EM/ ;EXAMINE 10 AT ADR AND PRINT
2182 100716 104
2183 100717 115
2184 .ASCII /DM/ ;DEPOSIT DATA IN 10 ADDRESS
2185 100720 105
2186 100721 116
2187 .ASCII /EN/ ;EXAMINE AND PRINT NEXT 10 ADDRESSES
2188 100722 104
2189 100723 116
2190 .ASCII /DN/ ;DEPOSIT DATA INTO NEXT 10 ADDRESSES
2191 100724 115
2192 100725 132
2193 .ASCII /MZ/ ;MEMORY ZERO
2194
2195 ;START/STOP FUNCTIONS
2196
2197 100726 123
2198 100727 120
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 70
CONS11 PAL[KL,SYS] Page 6.1 CONSOLE DISPATCH TABLE
2199 .ASCII /SP/ ;STOP 10, CLEAR RUN FLOP
2200 100730 122
2201 100731 116
2202 .ASCII /RN/ ;START 10, SET RUN FLOP
2203 100732 123
2204 100733 111
2205 .ASCII /SI/ ;SINGLE INSTRUCTION,PUSH CONTINUE
2206 100734 120
2207 100735 114
2208 .ASCII /PL/ ;PULSE CLOCK
2209 100736 102
2210 100737 125
2211 .ASCII /BU/ ;BURST CLOCK
2212 100740 123
2213 100741 115
2214 .ASCII /SM/ ;START MICRO CODE,SUPPORT EXAMINE/DEPOSIT
2215 100742 123
2216 100743 124
2217 .ASCII /ST/ ;START AT 10 ADDRESS
2218 100744 123
2219 100745 127
2220 .ASCII /SW/ ;PDP-10 SWITCHES
2221 100746 101
2222 100747 103
2223 .ASCII /AC/ ;"AC BLK" SELECTION
2224 100750 115
2225 100751 103
2226 .ASCII /MC/ ;PDP-10 MONITOR CONTINUE
2227 .LIF DF %%EOP
2228 .ASCII /EP/ ;SET EOP INTERVAL
2229
2230 ;PDP-11 FUNCTIONS
2231
2232 100752 123
2233 100753 105
2234 .ASCII /SE/ ;START 11 AT ADR
2235 100754 105
2236 100755 105
2237 .ASCII /EE/ ;EXAMINE 11 AT ADR AND PRINT
2238 100756 104
2239 100757 105
2240 .ASCII /DE/ ;DEPOSIT DATA IN 11 ADDRESS
2241 100760 105
2242 100761 102
2243 .ASCII /EB/ ;EXAMINE 11 BYTE
2244 100762 104
2245 100763 102
2246 .ASCII /DB/ ;DEPOSIT 11 BYTE
2247 100764 132
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 71
CONS11 PAL[KL,SYS] Page 6.2 CONSOLE DISPATCH TABLE
2248 100765 105
2249 .ASCII /ZE/ ;ZERO ELEVEN
2250
2251 ;RAM FUNCTIONS
2252
2253 100766 105
2254 100767 103
2255 .ASCII /EC/ ;EXAMINE C-RAM AT ADDRESS AND PRINT
2256 100770 104
2257 100771 103
2258 .ASCII /DC/ ;DEPOSIT DATA INTO C-RAM ADDRESS
2259 100772 122
2260 100773 103
2261 .ASCII /RC/ ;READ C-RAM, FR'S 140-141-142-143
2262 100774 105
2263 100775 104
2264 .ASCII /ED/ ;EXAMINE D-RAM AT ADDRESS AND PRINT
2265 100776 104
2266 100777 104
2267 .ASCII /DD/ ;[START DDT] OR DEPOSIT D-RAM
2268 101000 115
2269 101001 115
2270 .ASCII /MM/ ;MICRO-CODE SYNC MARK
2271 101002 115
2272 101003 125
2273 .ASCII /MU/ ;MICRO-CODE SYNC UNMARK
2274 101004 115
2275 101005 124
2276 .ASCII /MT/ ;MICRO-CODE TIME CHANGE
2277
2278 ;CLOCK OPERATIONS
2279
2280 101006 103
2281 101007 123
2282 .ASCII /CS/ ;CLOCK SOURCE
2283 101010 103
2284 101011 122
2285 .ASCII /CR/ ;CLOCK RATE
2286
2287 ;PROCESSOR PARITY FUNCTIONS
2288
2289 101012 120
2290 101013 104
2291 .ASCII /PD/ ;DISABLE PARITY STOP
2292 101014 120
2293 101015 105
2294 .ASCII /PE/ ;ENABLE PARITY STOP
2295
2296 ;INTERNAL E-BOX REGISTER READ FUNCTIONS
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 72
CONS11 PAL[KL,SYS] Page 6.3 CONSOLE DISPATCH TABLE
2297
2298 101016 101
2299 101017 122
2300 .ASCII /AR/ ;READ & PRINT AR REGISTER
2301 101020 102
2302 101021 122
2303 .ASCII /BR/ ;READ & PRINT BR REGISTER
2304 101022 115
2305 101023 121
2306 .ASCII /MQ/ ;READ & PRINT MQ REGISTER
2307 101024 106
2308 101025 115
2309 .ASCII /FM/ ;READ & PRINT FM REGISTER
2310 101026 101
2311 101027 104
2312 .ASCII /AD/ ;READ & PRINT ADDER
2313 101030 120
2314 101031 103
2315 .ASCII /PC/ ;READ & PRINT PC
2316 101032 126
2317 101033 115
2318 .ASCII /VM/ ;READ & PRINT VMA
2319 101034 123
2320 101035 103
2321 .ASCII /SC/ ;READ & PRINT SC REGISTER
2322 101036 106
2323 101037 105
2324 .ASCII /FE/ ;READ & PRINT FE REGISTER
2325 101040 105
2326 101041 122
2327 .ASCII /ER/ ;READ & PRINT E-BUS REGISTER
2328 101042 120
2329 101043 111
2330 .ASCII /PI/ ;READ & PRINT PI SYSTEM
2331 101044 101
2332 101045 114
2333 .ASCII /AL/ ;PRINT ALL, C-RAM & REGISTERS
2334
2335 ;CACHE OPERATIONS
2336
2337 101046 103
2338 101047 105
2339 .ASCII /CE/ ;CACHE ENABLE
2340 101050 103
2341 101051 111
2342 .ASCII /CI/ ;CACHE INVALIDATE
2343 101052 103
2344 101053 106
2345 .ASCII /CF/ ;CACHE FLUSH
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 73
CONS11 PAL[KL,SYS] Page 6.4 CONSOLE DISPATCH TABLE
2346
2347 ;REPEAT CONTROL
2348
2349 101054 122
2350 101055 120
2351 .ASCII /RP/ ;REPEAT & PRINT OR RP04 SELECT
2352 101056 124
2353 101057 104
2354 .ASCII /TD/ ;TIME DELAY
2355
2356 ;CONSOLE (TTY) CONTROL FUNCTION
2357
2358 101060 124
2359 101061 120
2360 .ASCII /TP/ ;SET TTY PAGE LENGTH
2361 101062 124
2362 101063 127
2363 .ASCII /TW/ ;SET TTY PAGE WIDTH
2364 101064 124
2365 101065 106
2366 .ASCII /TF/ ;SET TTY FILL COUNT
2367
2368 .LIF DF UTLASB
2369 .ASCII /TT/ ;SWITCH TO REMOTE TELETYPE OPERATION
2370
2371 .LIF DF LPASB
2372 .ASCII /LP/ ;LINE PRINTER SELECTION
2373
2374 .IF NDF TELASB
2375 .ASCII /KL/ ;KLINIK SELECTION
2376 .IFF
2377 101066 110
2378 101067 125
2379 .ASCII /HU/ ;HANGUP
2380 .ENDC
2381
2382 ;KL10 MONITOR (PROGRAM & ACT10) COMMANDS
2383
2384 .IF DF MONASB
2385 .ASCII /B / ;BOOT
2386 .ASCII /LI/ ;LOGIN
2387 .ENDC
2388 101070 110
2389 101071 040
2390 .ASCII /H / ;HELP
2391 101072 120
2392 101073 040
2393 .ASCII /P / ;PROGRAM
2394 101074 114
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 74
CONS11 PAL[KL,SYS] Page 6.5 CONSOLE DISPATCH TABLE
2395 101075 124
2396 .ASCII /LT/ ;LOAD TEN
2397 101076 114
2398 101077 105
2399 .ASCII /LE/ ;LOAD ELEVEN
2400 101100 114
2401 101101 122
2402 .ASCII /LR/ ;LOAD RAM
2403 101102 114
2404 101103 102
2405 .ASCII /LB/ ;LOAD ELEVEN BINARY
2406
2407 .LIF DF BOOASB
2408 101104 114
2409 101105 104
2410 .ASCII /LD/ ;LOAD DSKDMP BOOTSTRAP LOADER
2411
2412 101106 126
2413 101107 040
2414 .ASCII /V / ;VERFIY PROGRAM
2415 101110 103
2416 101111 040
2417 .ASCII /C / ;COMMENT/CORRECTIVE ACTION
2418 .IF DF MONASB
2419 .ASCII /S / ;SCRIPT
2420 .ASCII /M / ;MASTER SCRIPT
2421 .ASCII /LO/ ;LOGOUT
2422 .ASCII /GS/ ;GENERATE SCRIPT
2423 .ENDC
2424 101112 107
2425 101113 117
2426 .ASCII /GO/ ;GO START PROGRAM
2427 ;;;; .ASCII /CD/ ;PDP-11 CORE DUMP
2428
2429 .IF DF RPASB
2430 .IF DF UTLASB
2431 .ASCII /TA/ ;ACT10 TO RP04 TRANSFER
2432 .ASCII /WF/ ;DECTAPE TO RP04 WRITE
2433 .ENDC
2434 .ASCII /RE/ ;'RENM' RENAME RP04 FILE
2435 .ENDC
2436
2437 .IF DF MONASB
2438 .ASCII /T / ;TIME
2439 .ASCII /BT/ ;BOOT TEN
2440 .ASCII /AT/ ;SWITCH TO ACT10 MODE
2441 .ENDC
2442
2443 101114 104
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 75
CONS11 PAL[KL,SYS] Page 6.6 CONSOLE DISPATCH TABLE
2444 101115 124
2445 .ASCII /DT/ ;SWITCH TO DECTAPE MODE, SELECT UNIT
2446
2447 .LIF DF RXASB
2448 .ASCII /RX/ ;SWITCH TO FLOPPY MODE, SELECT UNIT
2449
2450 101116 104
2451 101117 111
2452 .ASCII /DI/ ;DIRECTORY, DECTAPE/RP04/FLOPPY
2453
2454 .IF DF BPTASB
2455 .ASCII /BP/ ;BREAKPOINT TRAP LAYER
2456 .ASCII /BC/ ;BREAKPOINT CONTINUE
2457 .ASCII /RG/ ;TYPE OUT BREAK STUFF
2458 .ASCII /RB/ ;REMOVE BREAKPOINTS
2459 .ENDC
2460
2461 101120 110
2462 101121 103
2463 .ASCII /HC/ ;ERROR HALT CONTINUE
2464
2465 101122 122
2466 101123 111
2467 .ASCII /RI/ ;REINITIALIZE SYSTEM
2468
2469 101124 111
2470 101125 040
2471 .ASCII /I / ;INDIRECT COMMAND FILE PROCESS
2472 101126 112
2473 101127 040
2474 .ASCII /J / ;DOUBLE INDIRECT COMMAND FILE
2475 101130 112
2476 101131 103
2477 .ASCII /JC/ ;"J" FILE CONTINUE
2478
2479 .LIF DF BOOASB
2480 101132 104
2481 101133 123
2482 .ASCII /DS/ ;LOAD DSKDMP BOOTSTRAP INTO 10 MEM AND START
2483 101134 126
2484 101135 102
2485 .ASCII /VB/ ;COMPLEMENT VERBOSE FLAG
2486 101136 113
2487 101137 101
2488 .ASCII /KA/ ;ENABLE KASIM
2489
2490 101140 000000 $KDCEN: 0 ;ERROR TRAP FOR NONEXISTANT COMMANDS
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 76
CONS11 PAL[KL,SYS] Page 7 CONSOLE DISPATCH TABLE
2491 ;DISPATCH TABLE
2492
2493 101142 101410 $DISPH: .RPT ;REPEAT OPERATION
2494 101144 102014 .DFXCT ;DIAGNOSTIC FUNCTION EXECUTE
2495 101146 102032 .DFWRT ; " " WRITE
2496 101150 102112 .DFRD ; " " READ
2497 101152 102070 .FS ; " " SYNC
2498 101154 102610 .DA ; " DEPOSIT INTO AR
2499 101156 104432 .XCT ;EXECUTE 10 INSTRUCTION
2500 101160 102602 .MRESET ;MASTER RESET
2501 101162 106622 .EXM ;EXAMINE 10
2502 101164 106276 .DP ;DEPOSIT 10
2503 101166 107004 .EXMNX ;EXAMINE NEXT 10
2504 101170 106346 .DPNX ;DEPOSIT NEXT 10
2505 101172 106450 .MZ ;MEMORY ZERO
2506 101174 103750 $SP ;STOP 10
2507 101176 104000 $RN ;RUN 10
2508 101200 104220 $SI ;SINGLE INSTRUCT 10
2509 101202 104320 .PL ;PULSE 10
2510 101204 104602 .BU ;BURST CLOCK
2511 101206 104364 .SM ;START MACHINE
2512 101210 105776 $ST ;START 10
2513 101212 110300 $SW ;SWITCHES 10
2514 101214 105544 .AC ;"AC BLK" SELECTION
2515 101216 107364 $MC ;MONITOR CONTINUE
2516 .LIF DF %%EOP
2517 .EP ;SET EOP INTERVAL
2518 101220 112402 .SE ;START ELEVEN
2519 101222 112450 .EE ;EXAMINE ELEVEN
2520 101224 112652 .DE ;DEPOSIT ELEVEN
2521 101226 112456 .EB ;EXAMINE 11 BYTE
2522 101230 112660 .DB ;DEPOSIT 11 BYTE
2523 101232 112632 .ZE ;ZERO ELEVEN
2524 101234 126244 $EC ;EXAMINE C←RAM
2525 101236 127736 $DC ;DEPOSIT C-RAM
2526 101240 126660 $RC ;READ C-RAM
2527 101242 127474 $ED ;EXAMINE D←RAM
2528 101244 104112 $DDTX ;[START DDT] OR DEPOSIT D←RAM
2529 101246 105240 .MM ;MICRO-CODE MARK
2530 101250 105232 .MU ;MICRO-CODE UNMARK
2531 101252 105312 .MT ;MICRO-CODE TIME CHANGE
2532 101254 104632 .CS ;SELECT CLOCK SOURCE
2533 101256 104742 .CR ;SELECT CLOCK RATE
2534 101260 104774 .PD ;PROCESSOR PARITY DISABLE
2535 101262 105102 .PE ;PROCESSOR PARITY ENABLE
2536 101264 102400 .AR ;READ REGISTERS
2537 101266 102512 .BR
2538 101270 102304 .MQ
2539 101272 102320 .FM
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 77
CONS11 PAL[KL,SYS] Page 7.1 CONSOLE DISPATCH TABLE
2540 101274 102442 .AD
2541 101276 102626 .PC
2542 101300 102732 .VM
2543 101302 103316 .SC
2544 101304 103302 .FE
2545 101306 102554 .ERG
2546 101310 103414 .PI ;READ & PRINT PI SYSTEM
2547 101312 103550 .ALL ;PRINT ALL
2548 101314 105400 .CE ;CACHE ENABLE
2549 101316 104374 .CI ;CACHE INVALIDATE
2550 101320 104412 .CF ;CACHE FLUSH
2551 101322 101422 .RPTP ;REPEAT & PRINT
2552 101324 122600 .TD ;TIME DELAY
2553 101326 113404 $TP ;SET TTY PAGE LENGTH
2554 101330 113412 $TW ;SET TTY PAGE WIDTH
2555 101332 113434 $TF ;SET TTY FILL PARAMETER
2556 .LIF DF UTLASB
2557 $TT ;SWITCH TO REMOTE TTY
2558
2559 .LIF DF LPASB
2560 $LPT ;LINE PRINTER SELECTION
2561
2562 .IF NDF TELASB
2563 .KLINIK ;KLINIK SELECTION
2564 .IFF
2565 101334 114500 $HU ;HANG UP
2566 .ENDC
2567
2568 ;KL10 MONITOR (PROGRAM & ACT10) COMMANDS
2569
2570 .IF DF MONASB
2571 $BOOT ;BOOT SYSTEM
2572 $LOGIN ;LOG IN
2573 .ENDC
2574 101336 113132 $HELP ;HELP
2575 101340 113036 $PROG ;LOAD PROGRAM
2576 101342 112766 $LDT ;LOAD TEN
2577 101344 112776 $LDE ;LOAD ELEVEN
2578 101346 113006 $LDR ;LOAD RAM
2579 101350 113016 $LDB ;LOAD ELEVEN BINARY
2580
2581 .LIF DF BOOASB
2582 101352 113026 $LDD ;LOAD DSKDMP BOOT
2583
2584 101354 112752 $VERIFY ;VERIFY PROGRAM
2585 101356 113344 $COMNT ;COMMENT
2586 .IF DF MONASB
2587 $SCRPT ;SCRIPT REQUEST
2588 $MSCP ;MASTER SCRIPT REQUEST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 78
CONS11 PAL[KL,SYS] Page 7.2 CONSOLE DISPATCH TABLE
2589 $LOGO ;LOG OUT
2590 $GSCP ;GENERATE SCRIPT
2591 .ENDC
2592 101360 113212 $GO ;PROGRAM GO
2593 ;;;; $CD ;PDP-11 CORE DUMP
2594
2595 .IF DF RPASB
2596 .IF DF UTLASB
2597 $TA ;ACT10 TO RP04 TRANSFER
2598 $WF ;DECTAPE TO RP04 WRITE FILE
2599 .ENDC
2600 $RE ;'RENM' RP04 RENAME FILE
2601 .ENDC
2602
2603 .IF DF MONASB
2604 $TIME ;TIME
2605 $BOOTT ;BOOT PDP-10
2606 $AT ;SELECT ACT-10 MODE
2607 .ENDC
2608 101362 113150 $DT ;SELECT DECTAPE MODE & UNIT
2609
2610 .LIF DF RXASB
2611 $RX ;SELECT FLOPPY MODE & UNIT
2612
2613 101364 133726 $DI ;DIRECTORY, DECTAPE/RP04/FLOPPY
2614
2615 .IF DF BPTASB
2616 .BP ;BREAKPOINT INSERTION
2617 .BC ;BREAKPOINT CONTINUE
2618 .RG ;PRINT SAVED REGISTERS
2619 .RB ;REMOVE BREAKPOINTS
2620 .ENDC
2621
2622 101366 115466 .HC ;HALT CONTINUE
2623 101370 113374 .RI ;REINITIALIZE CONSOLE
2624 101372 113104 $IFILE ;INDIRECT FILE
2625 101374 113064 $JFILE ;DOUBLE INDIRECT FILE
2626 101376 113232 $JC ;J FILE CONTINUE
2627
2628 .LIF DF BOOASB
2629 101400 135474 $DS ;LOAD AND START DSKDMP BOOTSTRAP PROGRAM
2630 101402 106404 $VB ;COMPLEMENT VERBOSE TYPEOUT
2631 101404 106440 $KA ;ENABLE KASIM
2632
2633 101406 100574 $CMDER ;NO SUCH COMMAND
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 79
CONS11 PAL[KL,SYS] Page 8 DIAGNOSIC CONSOLE UTILITY COMMAND PROCESS
2634 .SBTTL DIAGNOSIC CONSOLE UTILITY COMMAND PROCESS
2635
2636 .IF DF UTLASB
2637
2638 ;UTILITY PROGRAM CHECK
2639
2640 $KLUCK: CMP PID,PIDU ;UTILITY PROGRAM IN CORE ?
2641 BNE 1$
2642 CMP PID+2,PIDU+2
2643 BNE 1$
2644 CMP PDVER,#DECVER ;PROPER VERSION ?
2645 BNE 1$
2646 RTS PC ;OK
2647
2648 1$: PMSG <PLEASE LOAD "KLDCPU.A11" FIRST>
2649 JMP $CNTLC
2650
2651 PIDU: .RAD50 /KLDCPU/
2652
2653 ;TRANSFER FROM APT10 DISPATCH
2654
2655 $TA: JSR PC,$KLUCK ;UTILITY IN CORE ?
2656 JMP @TAPT ;YES
2657
2658 ;WRITE FILE FROM DTA/FLOPPY DISPATCH
2659
2660 $WF: JSR PC,$KLUCK ;UTILITY IN CORE ?
2661 JMP @WFILE ;YES
2662
2663 ;REMOTE TELETYPE COMMUNICATIONS DISPATCH
2664
2665 $TT: JSR PC,$KLUCK ;UTILITY IN CORE ?
2666 JMP @REMOTE ;YES
2667
2668 ;RP04 DISK DIRECTORY DISPATCH
2669
2670 .IF DR RPASB
2671 $RPDIR: JSR PC,$KLUCK ;UTILITY IN CORE ?
2672 JMP @DSKDIR ;YES
2673 .ENDC
2674
2675 .ENDC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 80
CONS11 PAL[KL,SYS] Page 9 CONSOLE COMMAND REPEAT CONTROL
2676 .SBTTL CONSOLE COMMAND REPEAT CONTROL
2677
2678 101410 104055 .RPT: SETFLG
2679 101412 147732 RPTFLG ;SET REPEAT FLAG
2680
2681 101414 104044 .RPTX: PNORML
2682 101416 000137 100456 JMP $RPT
2683
2684 101422 104016 .RPTP: TTISDL
2685 101424 103005 BCC 1$ ;NUMBER
2686 101426 104144 TTBACK
2687 101430 012737 177400 147732 MOV #177400,RPTFLG ;SET REPEAT & PRINT
2688 101436 000766 BR .RPTX
2689
2690 101440 000137 100574 1$: JMP $RP ;MUST BE RP04 SELECTION
2691
2692 100574 .IIF NDF RPASB,$RP==$CMDER
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 81
CONS11 PAL[KL,SYS] Page 10 PROGRAM CONSOLE COMMAND PROCESS
2693 .SBTTL PROGRAM CONSOLE COMMAND PROCESS
2694
2695 101444 104055 $PRGNPT:SETFLG ;PROGRAM COMMAND, NO PRINT
2696 101446 152212 PCMDNF
2697 101450 000402 BR $PRGXX
2698 101452 005037 152212 $PRGCMD:CLR PCMDNF
2699 101456 104055 $PRGXX: SETFLG
2700 101460 152214 PCMDFLG ;SET PROGRAM COMMAND FLAG
2701 101462 005700 TST R0
2702 101464 001411 BEQ 2$ ;USE CURRENT INPUT BUFFER, R0=0
2703 101466 022700 777777 CMP #-1,R0
2704 101472 001004 BNE 3$
2705 101474 012700 150254 MOV #$OUTBF,R0 ;USE OUTPUT BUFFER, R0 = -1
2706 101500 010037 150474 MOV R0,$OUTPT
2707 101504 004737 101606 3$: JSR PC,$PCMDX ;TRANSFER COMMAND TO INPUT BUFFER
2708 101510 012737 150500 150716 2$: MOV #$INBUF,$INPTC ;SET PICKUP POINTER
2709 101516 010637 147630 MOV SP,$$SVSP ;SAVE STACK POINTER
2710 101522 000137 100456 JMP $RPT ;PROCESS COMMAND
2711
2712 101526 013706 147630 PCMDE: MOV $$SVSP,SP ;RESTORE STACK POINTER
2713 101532 005037 152214 CLR PCMDFLG
2714 101536 005037 152212 CLR PCMDNF
2715 .LIF DF MONASB
2716 CLR ENQFLG
2717 EXIT
2718 101542 000137 124064 JMP $EXIT
2719 101546 013706 147630 PCMDE1: MOV $$SVSP,SP
2720 101552 005037 152214 PCMDE3: CLR PCMDFLG ;ERROR, C-BIT SET RETURN
2721 101556 005037 152212 CLR PCMDNF
2722 101562 005037 150722 CLR HLPPNT
2723 EXITERR
2724 101566 000137 124036 JMP $EXITE
2725 101572 013706 147630 PCMDE2: MOV $$SVSP,SP
2726 101576 052766 000010 000014 BIS #NBIT,14(SP) ;CONTROL C DURING TYPEOUT
2727 101604 000762 BR PCMDE3 ;NBIT & CBIT SET RETURN
2728
2729 101606 012701 150500 $PCMDX: MOV #$INBUF,R1 ;MOVE COMMAND TO INPUT BUFFER
2730 101612 $DIASX=.
2731 101612 112021 1$: MOVB (R0)+,(R1)+ ;TRANSFER CHARS
2732 101614 001376 BNE 1$ ;TILL NULL
2733 101616 005301 DEC R1
2734 101620 112721 000015 MOVB #CR,(R1)+
2735 101624 112721 000012 MOVB #LF,(R1)+
2736 101630 010137 150720 MOV R1,$INPTR ;SAVE EOL POINTER
2737 101634 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 82
CONS11 PAL[KL,SYS] Page 11 PROGRAM CONSOLE COMMAND PROCESS
2738 ;PROGRAM INDIRECT CCL FILE PROCESS
2739
2740 101636 013701 147622 $TTICCL:MOV IFINP,R1 ;XFER CHARS INTO INPUT BUFFER
2741 101642 105711 TSTB (R1) ;FIRST CHAR A NULL ?
2742 101644 001406 BEQ 1$ ;YES, FINISHED
2743 101646 004737 101772 JSR PC,IJFILX
2744 101652 010137 147622 MOV R1,IFINP ;RESAVE POINTER
2745 EXIT
2746 101656 000137 124064 JMP $EXIT
2747 1$: EXITERR ;FINISHED, C-BIT SET RETURN
2748 101662 000137 124036 JMP $EXITE
2749
2750 ;INDIRECT COMMAND FILE PROCESS
2751
2752 101666 013701 147622 IFILIN: MOV IFINP,R1 ;XFER CHARS INTO INPUT BUFFER
2753 101672 105711 TSTB (R1) ;FIRST CHAR A NULL ?
2754 101674 001413 BEQ IFILX1 ;YES, FINISHED
2755 101676 004737 101772 JSR PC,IJFILX
2756 101702 010137 147622 MOV R1,IFINP ;RESAVE STORAGE POINTER
2757 101706 005737 147620 TST JFILEF ;DON'T PRINT "I" IF UNDER "J"
2758 101712 001002 BNE 3$
2759 101714 IFILX=.
2760 101714 104025 $PMSG ;PRINT COMMAND LINE
2761 101716 150500 $INBUF
2762 101720 000137 100456 3$: JMP $RPT ;GO PROCESS
2763
2764 101724 000137 100106 IFILX1: JMP CONSL ;FINISHED
2765
2766 ;DOUBLE INDIRECT COMMAND FILE PROCESS
2767
2768 101730 005737 147614 JFILIN: TST PRGRUN ;PROGRAM PRESENTLY RUNNING ?
2769 101734 001402 BEQ 3$ ;NO
2770 101736 000137 100422 JMP $KONS2 ;YES, WAIT TILL IT'S DONE
2771 101742 013701 147616 3$: MOV JFINP,R1 ;XFER CHARS INTO INPUT BUFFER
2772
2773 101746 105711 TSTB (R1) ;FIRST CHAR A NULL ?
2774 101750 001405 BEQ 2$ ;YES, FINISHED
2775
2776 101752 004737 101772 JSR PC,IJFILX
2777 101756 010137 147616 MOV R1,JFINP ;RESAVE STORAGE POINTER
2778 101762 000754 BR IFILX
2779
2780 101764 005037 147620 2$: CLR JFILEF
2781 101770 000755 BR IFILX1
2782
2783 101772 012700 150500 IJFILX: MOV #$INBUF,R0
2784 101776 010037 150716 MOV R0,$INPTC
2785
2786 102002 112120 1$: MOVB (R1)+,(R0)+
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 83
CONS11 PAL[KL,SYS] Page 11.1 PROGRAM CONSOLE COMMAND PROCESS
2787 102004 001376 BNE 1$
2788
2789 102006 010037 150720 MOV R0,$INPTR
2790 102012 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 84
CONS11 PAL[KL,SYS] Page 12 DIAGNOSTIC FUNCTIONS
2791 .SBTTL DIAGNOSTIC FUNCTIONS
2792
2793 ;DIAGNOSTIC FUNCTION EXECUTE
2794
2795 102014 104226 .DFXCT: DFLEGAL ;FUNCTION LEGAL ?
2796 102016 104017 TTISDO ;GET FUNCTION
2797 102020 020027 000037 CMP R0,#037 ;FUNCTION VALID ?
2798 102024 003026 BGT $DFERR ;FX IS 000 TO 037
2799
2800 102026 104114 DFXCT ;DF EXECUTE
2801 102030 000415 BR .DFX ;RETURN TO CONSOLE
2802
2803 ;DIAGNOSTIC FUNCTION WRITE
2804
2805 102032 104226 .DFWRT: DFLEGAL ;FUNCTION LEGAL ?
2806 102034 104017 TTISDO ;GET FUNCTION
2807 102036 020027 000040 CMP R0,#040
2808 102042 002417 BLT $DFERR
2809 102044 020027 000077 CMP R0,#077
2810 102050 003014 BGT $DFERR ;FW IS 040 TO 077
2811 102052 010002 MOV R0,R2 ;SAVE FUNCTION
2812 102054 104020 TTIS36 ;GET DATA
2813 102056 010001 MOV R0,R1 ;PUT ADR OF 36BITS IN R1
2814
2815 102060 010200 MOV R2,R0 ;FUNCTION IN R0
2816 102062 104120 DFWRT ;DIAGNOSTIC FUNCTION WRITE
2817
2818 102064 000137 100230 .DFX: JMP $KONSL
2819
2820 ;DIAGNOSTIC FUNCTION SYNC, GENERATES PULSE AT "A36E1"
2821
2822 102070 104226 .FS: DFLEGAL ;FUNCTION LEGAL ?
2823 102072 104022 TTITRM
2824 102074 104115 DFXCTT
2825 102076 000074 74 ;SYNC IS FUNCTION EXECUTE 74
2826 102100 000771 BR .DFX
2827
2828 $DFERR: PMSG <?FUNCTION ERR>
2829 102102 104025 $PMSG
2830 102104 144752 $$CLIT
2831 102106 000137 100004 JMP $CNTLC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 85
CONS11 PAL[KL,SYS] Page 13 DIAGNOSTIC FUNCTIONS
2832 ;DIAGNOSTIC READ AND PRINT
2833
2834 102112 104226 .DFRD: DFLEGAL ;FUNCTION LEGAL ?
2835 102114 005003 CLR R3
2836 102116 104017 TTISDO ;GET FUNCTION
2837 102120 010002 MOV R0,R2
2838 102122 104015 TTIBRK
2839 102124 103766 BCS $DFERR
2840 102126 122700 000054 CMPB #COMMA,R0 ;IF BREAK IS A COMMA, MULTIPLE DFRD
2841 102132 001003 BNE 1$
2842
2843 102134 005203 INC R3
2844 102136 104010 TTCOCT
2845 102140 010004 MOV R0,R4 ;SAVE LAST DFRD
2846 102142 105737 147732 1$: TSTB RPTFLG
2847 102146 001003 BNE 2$
2848
2849 102150 010200 MOV R2,R0
2850 102152 104036 PNTOCS
2851 102154 104033 PSLASH
2852 102156 010200 2$: MOV R2,R0
2853 102160 001406 BEQ 21$ ;FR 0 USED TO READ E-BUS
2854 102162 020027 000100 CMP R0,#100
2855 102166 002745 BLT $DFERR
2856 102170 020027 000177 CMP R0,#177
2857 102174 003342 BGT $DFERR ;FR IS 100 TO 177
2858 102176 012701 147710 21$: MOV #.DFRDA,R1
2859 102202 104117 DFRDMV
2860 102204 105737 147732 TSTB RPTFLG
2861 102210 001002 BNE 3$
2862 102212 010100 MOV R1,R0
2863 102214 104134 PNT36B ;PRINT IN BINARY
2864
2865 102216 005703 3$: TST R3
2866 102220 001405 BEQ 4$
2867
2868 102222 104031 PCRLF
2869 102224 020204 CMP R2,R4
2870 102226 103002 BHIS 4$
2871 102230 005202 INC R2
2872 102232 000743 BR 1$
2873
2874 102234 000412 4$: BR ALLEXT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 86
CONS11 PAL[KL,SYS] Page 14 DIAGNOSTIC FUNCTIONS
2875 102236 104226 .DFDP: DFLEGAL ;FUNCTION LEGAL ?
2876 102240 012701 147710 MOV #.DFRDA,R1
2877 102244 104117 DFRDMV ;READ THE E-BUS
2878
2879 102246 105737 147732 TSTB RPTFLG
2880 102252 001304 BNE .DFX
2881 102254 012700 147710 .DFDPC: MOV #.DFRDA,R0
2882 102260 104042 PNT36 ;PRINT IT OUT
2883
2884 102262 005737 147734 ALLEXT: TST ALLFLG ;DOING ALL ?
2885 102266 001005 BNE 1$ ;YES
2886 102270 105737 147732 TSTB RPTFLG ;DOING A REPEAT ?
2887 102274 001001 BNE 2$ ;YES
2888 102276 ALLEX1=.
2889 102276 104031 PCRLF
2890 102300 000671 2$: BR .DFX
2891 102302 000207 1$: RTS PC ;ALL, CONTINUE
2892
2893 102304 104022 .MQ: TTITRM
2894 102306 $ALLMQ=.
2895 PMSGR <MQ />
2896 102306 104026 $PMSGR
2897 102310 144770 $$CLIT
2898 102312 012700 000122 1$: MOV #DPMQ,R0
2899 102316 000747 BR .DFDP
2900
2901 102320 104226 .FM: DFLEGAL ;FUNCTION LEGAL ?
2902 102322 104022 TTITRM
2903 102324 $ALLFM=.
2904 102324 105737 147732 TSTB RPTFLG
2905 102330 001016 BNE 1$
2906 102332 104214 PNTCI
2907 102334 046506 "FM
2908 102336 104140 DFRDT ;READ FM ADDRESS
2909 102340 000114 DPFMA
2910 102342 017700 054756 MOV @.DAT2,R0
2911 102346 104053 SHIFTR
2912 102350 000005 5
2913 102352 042700 177760 BIC #177760,R0
2914 102356 104047 PNTODT
2915 102360 000002 2
2916 102362 104214 PNTCI
2917 102364 000057 '/
2918 102366 012700 000123 1$: MOV #DPFM,R0
2919 102372 000721 BR .DFDP
2920
2921 102374 000137 102102 $DPERR: JMP $DFERR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 87
CONS11 PAL[KL,SYS] Page 15 DIAGNOSTIC FUNCTIONS
2922 102400 104005 .AR: TTICHR
2923 102402 103774 BCS $DPERR
2924 102404 122700 000130 CMPB #'X,R0 ;IS COMMAND 3 LETTERS ?
2925 102410 001406 BEQ 1$ ;BR IF 3RD LETTER IS X
2926 102412 104023 TTBTRM
2927 102414 $ALLAR=.
2928 PMSGR <AR />
2929 102414 104026 $PMSGR
2930 102416 144775 $$CLIT
2931 102420 012700 000120 2$: MOV #DPAR,R0
2932 102424 000704 BR .DFDP ;READ AND PRINT AR
2933
2934 102426 104022 1$: TTITRM
2935 102430 $ALARX=.
2936 PMSGR <ARX/>
2937 102430 104026 $PMSGR
2938 102432 145002 $$CLIT
2939 102434 012700 000125 3$: MOV #DPARX,R0
2940 102440 000676 BR .DFDP
2941
2942 102442 104005 .AD: TTICHR
2943 102444 103753 BCS $DPERR
2944 102446 122700 000130 CMPB #'X,R0 ;IS COMMAND 3 LETTERS ?
2945 102452 001411 BEQ 1$ ;BR IF 3RD LETTER IS X
2946 102454 122700 000102 CMPB #'B,R0
2947 102460 001552 BEQ .ADB ;ADB, PRINT ADDRESS BREAK
2948 102462 104023 TTBTRM
2949 102464 $ALLAD=.
2950 PMSGR <AD />
2951 102464 104026 $PMSGR
2952 102466 145007 $$CLIT
2953 102470 012700 000127 2$: MOV #DPAD,R0
2954 102474 000660 BR .DFDP ;READ AND PRINT AD
2955
2956 102476 104022 1$: TTITRM
2957 102500 $ALADX=.
2958 PMSGR <ADX/>
2959 102500 104026 $PMSGR
2960 102502 145014 $$CLIT
2961 102504 012700 000126 3$: MOV #DPADX,R0
2962 102510 000652 BR .DFDP ;READ AND PRINT ADX
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 88
CONS11 PAL[KL,SYS] Page 16 DIAGNOSTIC FUNCTIONS
2963 102512 104005 .BR: TTICHR
2964 102514 103727 BCS $DPERR
2965 102516 122700 000130 CMPB #'X,R0 ;IS COMMAND 3 LETTERS ?
2966 102522 001406 BEQ 1$ ;BR IF 3RD LETTER IS X
2967 102524 104023 TTBTRM
2968 102526 $ALLBR=.
2969 PMSGR <BR />
2970 102526 104026 $PMSGR
2971 102530 145021 $$CLIT
2972 102532 012700 000121 2$: MOV #DPBR,R0
2973 102536 000637 BR .DFDP ;READ AND PRINT BR
2974
2975 102540 104022 1$: TTITRM
2976 102542 $ALBRX=.
2977 PMSGR <BRX/>
2978 102542 104026 $PMSGR
2979 102544 145026 $$CLIT
2980 102546 012700 000124 3$: MOV #DPBRX,R0
2981 102552 000631 BR .DFDP ;READ AND PRINT THE BRX
2982
2983 102554 104005 .ERG: TTICHR
2984 102556 103504 BCS $DPER1
2985 102560 122700 000107 CMPB #'G,R0
2986 102564 001101 BNE $DPER1
2987 102566 104022 TTITRM
2988
2989 $ALLEB: PMSGR <ERG/>
2990 102570 104026 $PMSGR
2991 102572 145033 $$CLIT
2992 102574 012700 000167 MOV #DPERG,R0
2993 102600 000616 BR .DFDP ;READ & PRINT EBUS REGISTER
2994
2995 ;MASTER RESET
2996
2997 102602 104022 .MRESET:TTITRM
2998 102604 104076 MRESET
2999 102606 000405 BR .DAX
3000
3001 ;DEPOSIT INTO AR
3002
3003 102610 104226 .DA: DFLEGAL ;FUNCTION LEGAL ?
3004 102612 104020 TTIS36 ;GET 36 BIT AR DATA
3005 102614 010001 MOV R0,R1 ;ADR OF 36 BITS TO R1
3006 102616 004537 143624 JSR R5,WIRAR1 ;CALL IR/AR WRITE ROUTINE
3007 102622 000137 100230 .DAX: JMP $KONSL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 89
CONS11 PAL[KL,SYS] Page 17 DIAGNOSTIC FUNCTIONS
3008 102626 104005 .PC: TTICHR
3009 102630 103457 BCS $DPER1
3010 102632 122700 000106 CMPB #'F,R0
3011 102636 001471 BEQ .PCF ;"PCF" COMMAND
3012 102640 104023 TTBTRM
3013 102642 $ALLPC=.
3014 PMSG <PC />
3015 102642 104025 $PMSG
3016 102644 145040 $$CLIT
3017 102646 005737 147670 TST TENRUN ;PDP-10 PRESENTLY RUNNING ?
3018 102652 001417 BEQ 1$ ;NO, GO AHEAD THEN
3019 102654 104115 DFXCTT
3020 102656 000010 CLRRUN ;CLEAR RUN
3021 102660 104056 TDELAY ;WAIT FOR HALT LOOP
3022 102662 104115 DFXCTT
3023 102664 000000 STPCLK ;STOP CLOCK
3024
3025 102666 104123 DFPC ;READ PC
3026
3027 PUSH R0
3028 102672 104115 DFXCTT
3029 102674 000001 STRCLK ;START CLOCK
3030 102676 104115 DFXCTT
3031 102700 000011 SETRUN ;SET RUN
3032 102702 104115 DFXCTT
3033 102704 000012 CONBUT ;SET CONTINUE
3034 POP R0
3035 102710 000401 BR PCVMAP ;GO PRINT
3036
3037 102712 104123 1$: DFPC
3038
3039 PCVMAP:
3040 102714 104137 PNTADR
3041 102716 005737 147734 TST ALLFLG
3042 102722 001002 BNE 1$
3043 102724 000137 102276 JMP ALLEX1 ;RETURN TO CONSOLE
3044 102730 000207 1$: RTS PC ;ALL, RETURN TO ROUTINE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 90
CONS11 PAL[KL,SYS] Page 18 DIAGNOSTIC FUNCTIONS
3045 102732 104226 .VM: DFLEGAL ;FUNCTION LEGAL ?
3046 102734 104005 TTICHR
3047 102736 103414 BCS $DPER1
3048 102740 122700 000101 CMPB #'A,R0
3049 102744 001404 BEQ 1$
3050 102746 122700 000110 CMPB #'H,R0
3051 102752 001410 BEQ .VMH
3052 102754 000405 BR $DPER1
3053 102756 104022 1$: TTITRM
3054 102760 $ALVMA=.
3055 PMSG <VMA/>
3056 102760 104025 $PMSG
3057 102762 145045 $$CLIT
3058 102764 104124 DFVMA
3059 102766 000752 BR PCVMAP
3060
3061 102770 000137 102102 $DPER1: JMP $DFERR
3062
3063 102774 104022 .VMH: TTITRM
3064 102776 $ALVMH=.
3065 PMSG <VMH/>
3066 102776 104025 $PMSG
3067 103000 145052 $$CLIT
3068 103002 104150 DFVMAH
3069 103004 000743 BR PCVMAP
3070
3071 103006 104226 .ADB: DFLEGAL ;FUNCTION LEGAL ?
3072 103010 104022 TTITRM
3073 PMSG <ADB/>
3074 103012 104025 $PMSG
3075 103014 145057 $$CLIT
3076 103016 104125 DFADB
3077 103020 000735 BR PCVMAP
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 91
CONS11 PAL[KL,SYS] Page 19 DIAGNOSTIC FUNCTIONS
3078 ;PCF COMMAND - PRINT PC FLAGS
3079 103022 104022 .PCF: TTITRM
3080 103024 $ALPCF=.
3081 103024 005737 147670 TST TENRUN ;PDP-10 PRESENTLY RUNNING ?
3082 103030 001416 BEQ 1$ ;NO, GO AHEAD THEN
3083 103032 104115 DFXCTT
3084 103034 000010 CLRRUN ;CLEAR RUN
3085 103036 104056 TDELAY ;WAIT FOR HALT LOOP
3086 103040 104115 DFXCTT
3087 103042 000000 STPCLK ;STOP CLOCK
3088 103044 004737 103106 JSR PC,PCF ;READ AND PRINT PC FLAGS
3089 103050 104115 DFXCTT
3090 103052 000001 STRCLK ;START CLOCK
3091 103054 104115 DFXCTT
3092 103056 000011 SETRUN ;SET RUN
3093 103060 104115 DFXCTT
3094 103062 000012 CONBUT ;SET CONTINUE
3095 103064 000402 BR 2$
3096
3097 103066 004737 103106 1$: JSR PC,PCF ;READ AND PRINT PC FLAGS
3098 103072 005737 147734 2$: TST ALLFLG
3099 103076 001002 BNE 3$
3100 103100 000137 102276 JMP ALLEX1 ;PRINT CRLF AND RETURN TO KONSL
3101
3102 103104 000207 3$: RTS PC ;ALL, RETURN TO ROUTINE
3103
3104 PCF: PMSG <PCF/ >
3105 103106 104025 $PMSG
3106 103110 145064 $$CLIT
3107 103112 012705 103214 MOV #PCFTBL,R5
3108 103116 005004 CLR R4 ;R4 ZERO IF THIS IS FIRST FROB TYPED
3109 103120 112500 1$: MOVB (R5)+,R0 ;GET DIAG FUNC FOR NEXT BIT
3110 103122 001433 BEQ 9$ ;BR IF END OF TABLE
3111 103124 104116 DFRD ;GET BIT INTO DTE REG
3112 103126 017702 054174 MOV @.DAT1,R2 ;BITS 0-3
3113 103132 017701 054166 MOV @.DAT2,R1 ;BITS 4-19
3114 000004 .REPT 4
3115 ASL R1
3116 ROL R2
3117 .ENDR ;BITS 0-7 (4.9-4.2) RIGHT ALIGNED IN R2
3118 103136 006301 ASL R1
3119 103140 006102 ROL R2
3120 103142 006301 ASL R1
3121 103144 006102 ROL R2
3122 103146 006301 ASL R1
3123 103150 006102 ROL R2
3124 103152 006301 ASL R1
3125 103154 006102 ROL R2
3126 103156 112501 MOVB (R5)+,R1 ;GET MASK FOR BIT OF INTEREST
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 92
CONS11 PAL[KL,SYS] Page 19.1 DIAGNOSTIC FUNCTIONS
3127 103160 100002 BPL 2$
3128 103162 005102 COM R2 ;BIT BACKWARDS IN HARDWARE
3129 103164 005401 NEG R1
3130 103166 012500 2$: MOV (R5)+,R0 ;GET POINTER TO BIT NAME STRING
3131 103170 030102 BIT R1,R2
3132 103172 001406 BEQ 3$
3133 103174 005704 TST R4 ;IF NOT FIRST, PUT A COMMA, SPACE
3134 103176 001402 BEQ 4$
3135 103200 104214 PNTCI
3136 103202 020054 ",
3137 103204 104024 4$: PNTAL ;BIT IS ON, GIVE NAME
3138 103206 005204 INC R4
3139 103210 000743 3$: BR 1$ ;LOOP BACK FOR NEXT BIT
3140
3141 103212 000207 9$: RTS PC
3142
3143 ;PC FLAGS TABLE
3144 ;FIRST BYTE IS DIAG FCN, SECOND IS MASK FOR BIT (NEGATIVE => BIT COMPLEMENTED)
3145 ;SECOND WORD -> ASCIZ BIT NAME (Negative means more than 177)
3146
3147 .MACRO PCFTE NAME,DFN,MASK
3148 .LIT $$ZZQ,<.ASCIZ\NAME\>
3149 .BYTE DFN,MASK
3150 .WORD $$ZZQ
3151 .ENDM
3152
3153 PCFTBL: PCFTE OV,131,40
3154 .LIT $$ZZQ,<.ASCIZ\OV\>
3155 103214 $$CLC=.
3156 145072 .=$$CLIT
3157 145072 .EVEN
3158 145072 $$ZZQ=.
3159 .IIF B <.ASCIZ\OV\>,0
3160 145072 117
3161 145073 126
3162 145074 000
3163 .IIF NB <.ASCIZ\OV\>,.ASCIZ\OV\
3164 145076 .EVEN
3165 145076 $$CLIT=.
3166 103214 .=$$CLC
3167 103214 131
3168 103215 040 .BYTE 131,40
3169 103216 145072 .WORD $$ZZQ
3170 PCFTE CRY0,131,20
3171 .LIT $$ZZQ,<.ASCIZ\CRY0\>
3172 103220 $$CLC=.
3173 145076 .=$$CLIT
3174 145076 .EVEN
3175 145076 $$ZZQ=.
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 93
CONS11 PAL[KL,SYS] Page 19.2 DIAGNOSTIC FUNCTIONS
3176 .IIF B <.ASCIZ\CRY0\>,0
3177 145076 103
3178 145077 122
3179 145100 131
3180 145101 060
3181 145102 000
3182 .IIF NB <.ASCIZ\CRY0\>,.ASCIZ\CRY0\
3183 145104 .EVEN
3184 145104 $$CLIT=.
3185 103220 .=$$CLC
3186 103220 131
3187 103221 020 .BYTE 131,20
3188 103222 145076 .WORD $$ZZQ
3189 PCFTE CRY1,131,10
3190 .LIT $$ZZQ,<.ASCIZ\CRY1\>
3191 103224 $$CLC=.
3192 145104 .=$$CLIT
3193 145104 .EVEN
3194 145104 $$ZZQ=.
3195 .IIF B <.ASCIZ\CRY1\>,0
3196 145104 103
3197 145105 122
3198 145106 131
3199 145107 061
3200 145110 000
3201 .IIF NB <.ASCIZ\CRY1\>,.ASCIZ\CRY1\
3202 145112 .EVEN
3203 145112 $$CLIT=.
3204 103224 .=$$CLC
3205 103224 131
3206 103225 010 .BYTE 131,10
3207 103226 145104 .WORD $$ZZQ
3208 PCFTE FOV,132,20
3209 .LIT $$ZZQ,<.ASCIZ\FOV\>
3210 103230 $$CLC=.
3211 145112 .=$$CLIT
3212 145112 .EVEN
3213 145112 $$ZZQ=.
3214 .IIF B <.ASCIZ\FOV\>,0
3215 145112 106
3216 145113 117
3217 145114 126
3218 145115 000
3219 .IIF NB <.ASCIZ\FOV\>,.ASCIZ\FOV\
3220 145116 .EVEN
3221 145116 $$CLIT=.
3222 103230 .=$$CLC
3223 103230 132
3224 103231 020 .BYTE 132,20
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 94
CONS11 PAL[KL,SYS] Page 19.3 DIAGNOSTIC FUNCTIONS
3225 103232 145112 .WORD $$ZZQ
3226 PCFTE FPD,130,2
3227 .LIT $$ZZQ,<.ASCIZ\FPD\>
3228 103234 $$CLC=.
3229 145116 .=$$CLIT
3230 145116 .EVEN
3231 145116 $$ZZQ=.
3232 .IIF B <.ASCIZ\FPD\>,0
3233 145116 106
3234 145117 120
3235 145120 104
3236 145121 000
3237 .IIF NB <.ASCIZ\FPD\>,.ASCIZ\FPD\
3238 145122 .EVEN
3239 145122 $$CLIT=.
3240 103234 .=$$CLC
3241 103234 130
3242 103235 002 .BYTE 130,2
3243 103236 145116 .WORD $$ZZQ
3244 PCFTE USER,134,340
3245 .LIT $$ZZQ,<.ASCIZ\USER\>
3246 103240 $$CLC=.
3247 145122 .=$$CLIT
3248 145122 .EVEN
3249 145122 $$ZZQ=.
3250 .IIF B <.ASCIZ\USER\>,0
3251 145122 125
3252 145123 123
3253 145124 105
3254 145125 122
3255 145126 000
3256 .IIF NB <.ASCIZ\USER\>,.ASCIZ\USER\
3257 145130 .EVEN
3258 145130 $$CLIT=.
3259 103240 .=$$CLC
3260 103240 134
3261 103241 340 .BYTE 134,340
3262 103242 145122 .WORD $$ZZQ
3263 PCFTE IOTUSR,136,4
3264 .LIT $$ZZQ,<.ASCIZ\IOTUSR\>
3265 103244 $$CLC=.
3266 145130 .=$$CLIT
3267 145130 .EVEN
3268 145130 $$ZZQ=.
3269 .IIF B <.ASCIZ\IOTUSR\>,0
3270 145130 111
3271 145131 117
3272 145132 124
3273 145133 125
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 95
CONS11 PAL[KL,SYS] Page 19.4 DIAGNOSTIC FUNCTIONS
3274 145134 123
3275 145135 122
3276 145136 000
3277 .IIF NB <.ASCIZ\IOTUSR\>,.ASCIZ\IOTUSR\
3278 145140 .EVEN
3279 145140 $$CLIT=.
3280 103244 .=$$CLC
3281 103244 136
3282 103245 004 .BYTE 136,4
3283 103246 145130 .WORD $$ZZQ
3284 PCFTE PUBLIC,135,20
3285 .LIT $$ZZQ,<.ASCIZ\PUBLIC\>
3286 103250 $$CLC=.
3287 145140 .=$$CLIT
3288 145140 .EVEN
3289 145140 $$ZZQ=.
3290 .IIF B <.ASCIZ\PUBLIC\>,0
3291 145140 120
3292 145141 125
3293 145142 102
3294 145143 114
3295 145144 111
3296 145145 103
3297 145146 000
3298 .IIF NB <.ASCIZ\PUBLIC\>,.ASCIZ\PUBLIC\
3299 145150 .EVEN
3300 145150 $$CLIT=.
3301 103250 .=$$CLC
3302 103250 135
3303 103251 020 .BYTE 135,20
3304 103252 145140 .WORD $$ZZQ
3305 PCFTE ADB INH,137,40
3306 .LIT $$ZZQ,<.ASCIZ\ADB INH\>
3307 103254 $$CLC=.
3308 145150 .=$$CLIT
3309 145150 .EVEN
3310 145150 $$ZZQ=.
3311 .IIF B <.ASCIZ\ADB INH\>,0
3312 145150 101
3313 145151 104
3314 145152 102
3315 145153 040
3316 145154 111
3317 145155 116
3318 145156 110
3319 145157 000
3320 .IIF NB <.ASCIZ\ADB INH\>,.ASCIZ\ADB INH\
3321 145160 .EVEN
3322 145160 $$CLIT=.
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 96
CONS11 PAL[KL,SYS] Page 19.5 DIAGNOSTIC FUNCTIONS
3323 103254 .=$$CLC
3324 103254 137
3325 103255 040 .BYTE 137,40
3326 103256 145150 .WORD $$ZZQ
3327 PCFTE TRP 2,130,40
3328 .LIT $$ZZQ,<.ASCIZ\TRP 2\>
3329 103260 $$CLC=.
3330 145160 .=$$CLIT
3331 145160 .EVEN
3332 145160 $$ZZQ=.
3333 .IIF B <.ASCIZ\TRP 2\>,0
3334 145160 124
3335 145161 122
3336 145162 120
3337 145163 040
3338 145164 062
3339 145165 000
3340 .IIF NB <.ASCIZ\TRP 2\>,.ASCIZ\TRP 2\
3341 145166 .EVEN
3342 145166 $$CLIT=.
3343 103260 .=$$CLC
3344 103260 130
3345 103261 040 .BYTE 130,40
3346 103262 145160 .WORD $$ZZQ
3347 PCFTE TRP 1,130,4
3348 .LIT $$ZZQ,<.ASCIZ\TRP 1\>
3349 103264 $$CLC=.
3350 145166 .=$$CLIT
3351 145166 .EVEN
3352 145166 $$ZZQ=.
3353 .IIF B <.ASCIZ\TRP 1\>,0
3354 145166 124
3355 145167 122
3356 145170 120
3357 145171 040
3358 145172 061
3359 145173 000
3360 .IIF NB <.ASCIZ\TRP 1\>,.ASCIZ\TRP 1\
3361 145174 .EVEN
3362 145174 $$CLIT=.
3363 103264 .=$$CLC
3364 103264 130
3365 103265 004 .BYTE 130,4
3366 103266 145166 .WORD $$ZZQ
3367 PCFTE FXU,132,10
3368 .LIT $$ZZQ,<.ASCIZ\FXU\>
3369 103270 $$CLC=.
3370 145174 .=$$CLIT
3371 145174 .EVEN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 97
CONS11 PAL[KL,SYS] Page 19.6 DIAGNOSTIC FUNCTIONS
3372 145174 $$ZZQ=.
3373 .IIF B <.ASCIZ\FXU\>,0
3374 145174 106
3375 145175 130
3376 145176 125
3377 145177 000
3378 .IIF NB <.ASCIZ\FXU\>,.ASCIZ\FXU\
3379 145200 .EVEN
3380 145200 $$CLIT=.
3381 103270 .=$$CLC
3382 103270 132
3383 103271 010 .BYTE 132,10
3384 103272 145174 .WORD $$ZZQ
3385 PCFTE DIV,131,2
3386 .LIT $$ZZQ,<.ASCIZ\DIV\>
3387 103274 $$CLC=.
3388 145200 .=$$CLIT
3389 145200 .EVEN
3390 145200 $$ZZQ=.
3391 .IIF B <.ASCIZ\DIV\>,0
3392 145200 104
3393 145201 111
3394 145202 126
3395 145203 000
3396 .IIF NB <.ASCIZ\DIV\>,.ASCIZ\DIV\
3397 145204 .EVEN
3398 145204 $$CLIT=.
3399 103274 .=$$CLC
3400 103274 131
3401 103275 002 .BYTE 131,2
3402 103276 145200 .WORD $$ZZQ
3403 103300 000000 0
3404
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 98
CONS11 PAL[KL,SYS] Page 20 DIAGNOSTIC FUNCTIONS
3405 103302 104022 .FE: TTITRM
3406 $ALLFE: PMSGR <FE/>
3407 103304 104026 $PMSGR
3408 103306 145204 $$CLIT
3409 103310 012704 000132 MOV #DPFE,R4
3410 103314 000405 BR FESCP
3411
3412 103316 104022 .SC: TTITRM
3413 $ALLSC: PMSGR <SC/>
3414 103320 104026 $PMSGR
3415 103322 145210 $$CLIT
3416 103324 012704 000130 MOV #DPSC,R4
3417 103330 104226 FESCP: DFLEGAL ;FUNCTION LEGAL ?
3418 103332 010400 MOV R4,R0
3419 103334 104116 DFRD
3420
3421 103336 017703 053762 MOV @.DAT2,R3 ;GET LO-ORDER 5 BITS
3422 103342 000303 SWAB R3 ;FROM 7-11 OF DEXWDS
3423 103344 042703 177740 BIC #177740,R3
3424
3425 103350 010400 MOV R4,R0
3426 103352 005200 INC R0
3427 103354 104116 DFRD
3428
3429 103356 017700 053742 MOV @.DAT2,R0 ;GET HI-ORDER 5 BITS
3430 103362 104053 SHIFTR
3431 103364 000003 3
3432 103366 042700 176037 BIC #176037,R0
3433 103372 050300 BIS R3,R0 ;COMBINE HI & LO ORDER BITS
3434
3435 103374 105737 147732 TSTB RPTFLG
3436 103400 001003 BNE 1$
3437 103402 104047 PNTODT
3438 103404 000004 4
3439 103406 104032 PSPACE
3440 103410 000137 102262 1$: JMP ALLEXT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 99
CONS11 PAL[KL,SYS] Page 21 DIAGNOSTIC FUNCTIONS
3441 ;PRINT PRIORITY INTERRUPT FUNCTIONS
3442
3443 103414 104226 .PI: DFLEGAL ;FUNCTION LEGAL ?
3444 103416 104022 TTITRM
3445 103420 $ALLPI=.
3446 103420 004737 103452 JSR PC,$ALPIG ;PRINT PI GENS
3447 103424 004737 103504 JSR PC,$ALPIH ;PRINT PI HOLDS
3448 103430 004737 103536 JSR PC,$ALPIO ;PRINT PI ON'S
3449 103434 005737 147734 TST ALLFLG
3450 103440 001003 BNE 1$
3451 103442 104031 PCRLF
3452 103444 000137 100230 JMP $KONSL
3453
3454 103450 000207 1$: RTS PC ;ALL, RETURN TO ROUTINE
3455
3456 $ALPIG: PMSG <PI GEN/>
3457 103452 104025 $PMSG
3458 103454 145214 $$CLIT
3459 103456 104140 DFRDT
3460 103460 000101 READ1 ;READ PI GENS
3461 ;FR 101, BITS 11-17
3462 103462 017700 053636 $ALPIY: MOV @.DAT2,R0
3463 103466 104053 SHIFTR
3464 103470 000002 2
3465
3466 103472 042700 177600 $ALPIX: BIC #177600,R0 ;DATA IS ONLY 7 BITS
3467 103476 104047 PNTODT
3468 103500 000003 3
3469 103502 000207 RTS PC
3470
3471 $ALPIH: PMSG < PI HOLD/>
3472 103504 104025 $PMSG
3473 103506 145224 $$CLIT
3474 103510 104140 DFRDT
3475 103512 000100 READ0 ;READ PI HOLDS
3476 103514 017700 053604 MOV @.DAT2,R0 ;FR 100, BITS 03-09
3477 103520 017701 053602 MOV @.DAT1,R1
3478 103524 006001 ROR R1
3479 103526 006000 ROR R0
3480 103530 104053 SHIFTR
3481 103532 000011 9.
3482 103534 000756 BR $ALPIX
3483
3484 $ALPIO: PMSG < PI ON/>
3485 103536 104025 $PMSG
3486 103540 145236 $$CLIT
3487 103542 104140 DFRDT
3488 103544 000100 READ0 ;READ PI ONS
3489 103546 000745 BR $ALPIY ;FR 100, BITS 11-17
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 100
CONS11 PAL[KL,SYS] Page 22 DIAGNOSTIC FUNCTIONS
3490 ;PRINT ALL - C-RAM & REGISTERS
3491
3492 103550 104005 .ALL: TTICHR
3493 103552 103410 BCS 1$
3494 103554 122700 000114 CMPB #'L,R0
3495 103560 001005 BNE 1$
3496 103562 104022 TTITRM
3497 103564 104226 DFLEGAL ;FUNCTION LEGAL ?
3498 103566 104132 PNTCPU
3499 103570 000137 100230 JMP $KONSL
3500 103574 000137 102102 1$: JMP $DFERR ;ERROR
3501
3502 103600 104055 $PNTCPU:SETFLG
3503 103602 147734 ALLFLG ;SET ALL FLAG
3504 PUSH RPTFLG
3505 103610 005037 147732 CLR RPTFLG
3506
3507 103614 004737 126274 JSR PC,$ALLEC ;PRINT C-RAM
3508
3509 103620 004737 102414 JSR PC,$ALLAR ;PRINT AR
3510 103624 004737 102526 JSR PC,$ALLBR ;PRINT BR
3511 103630 004737 102464 JSR PC,$ALLAD ;PRINT ADDER
3512 103634 004737 103320 JSR PC,$ALLSC ;PRINT SC
3513 103640 004737 102642 JSR PC,$ALLPC ;PRINT PC
3514 103644 104031 PCRLF
3515
3516 103646 004737 102430 JSR PC,$ALARX ;PRINT ARX
3517 103652 004737 102542 JSR PC,$ALBRX ;PRINT BRX
3518 103656 004737 102500 JSR PC,$ALADX ;PRINT ADX
3519 103662 004737 103304 JSR PC,$ALLFE ;PRINT FE
3520 103666 004737 102760 JSR PC,$ALVMA ;PRINT VMA
3521 103672 104031 PCRLF
3522
3523 103674 004737 102306 JSR PC,$ALLMQ ;PRINT MQ
3524 103700 004737 102324 JSR PC,$ALLFM ;PRINT FM
3525 103704 004737 102570 JSR PC,$ALLEB ;PRINT EBUS REGISTER
3526 103710 004737 102776 JSR PC,$ALVMH ;PRINT VMA HELD
3527 103714 104031 PCRLF
3528
3529 103716 004737 103452 JSR PC,$ALPIG ;PRINT PI GENS
3530 103722 004737 103504 JSR PC,$ALPIH ;PRINT PI HOLDS
3531 103726 004737 103536 JSR PC,$ALPIO ;PRINT PI ON'S
3532 POP RPTFLG
3533 103736 104031 PCRLF
3534 103740 005037 147734 CLR ALLFLG
3535 EXIT
3536 103744 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 101
CONS11 PAL[KL,SYS] Page 23 PDP-10 START/STOP FUNCTIONS
3537 .SBTTL PDP-10 START/STOP FUNCTIONS
3538
3539 ;THESE REQUIRE STANDARD MICROCODE TO DO ANYTHING WORTHWHILE!
3540
3541 ;STOP PDP-10, CLEAR RUN FLOP
3542
3543 103750 104022 $SP: TTITRM
3544 103752 104077 TENSP ;STOP TEN
3545 103754 103002 BCC 1$
3546 103756 000137 104566 JMP .XCTER ;DID NOT STOP PROPERLY
3547 103762 005037 147614 1$: CLR PRGRUN
3548 PMSG <\KL10 STOPPED >
3549 103766 104025 $PMSG
3550 103770 145246 $$CLIT
3551 103772 004737 107732 JSR PC,$ALSTA ;PRINT PC,VMA,PI,PCF AND A CRLF
3552 103776 000443 BR $RNX ;HOPE ENOUGH DELAY BUILT IN
3553
3554 ;CONTINUE PDP-10 FROM OLD PC. ASSUME CLOCK MAY BE OFF
3555
3556 104000 104022 $RN: TTITRM
3557
3558 104002 005037 157264 $RNN: CLR CLKPE ;CLEAR CLOCK PARITY ENABLES
3559 104006 012702 000020 MOV #20,R2
3560 104012 013701 157262 MOV PEBITS,R1 ;GET ENABLE BITS
3561 104016 001410 BEQ 2$ ;NOT ENABLED
3562 104020 030201 BIT R2,R1 ;AR/ARX PARITY ENABLED ?
3563 104022 001403 BEQ 1$ ;NO
3564 104024 052737 000002 157264 BIS #2,CLKPE ;YES, SET ENABLE BIT
3565 104032 052737 000001 157264 1$: BIS #1,CLKPE ;SET CLOCK STOP ENABLE
3566
3567 104040 104141 2$: DFWRTT
3568 104042 157264 CLKPE
3569 104044 000047 LDCHK2 ;LOAD ENABLE FUNCTION REGISTER
3570
3571 104046 040201 3$: BIC R2,R1
3572 104050 010137 157264 MOV R1,CLKPE ;SETUP FM,CRAM,DRAM, FS
3573 104054 104141 DFWRTT
3574 104056 157264 CLKPE
3575 104060 000046 LDCHK1 ;LOAD CONDITION ENABLE REGISTER
3576
3577 104062 104115 DFXCTT ;GET CLOCK RUNNING
3578 104064 000001 STRCLK
3579 104066 104115 DFXCTT ;SET RUN AND LET 'ER GO
3580 104070 000011 SETRUN
3581 104072 104115 DFXCTT ;SET CONTINUE BUTTON
3582 104074 000012 CONBUT
3583 104076 104055 SETFLG
3584 104100 147670 TENRUN ;SET TEN RUN FLAG
3585 104102 104055 SETFLG
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 102
CONS11 PAL[KL,SYS] Page 23.1 PDP-10 START/STOP FUNCTIONS
3586 104104 147614 PRGRUN ;SET PROGRAM RUNNING FLAG
3587 104106 000137 100230 $RNX: JMP $KONSL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 103
CONS11 PAL[KL,SYS] Page 24 PDP-10 START/STOP FUNCTIONS
3588 ;START PDP-10 DDT
3589
3590 104112 104016 $DDTX: TTISDL
3591 104114 103402 BCS 1$ ;NON-NUMBER
3592 104116 000137 127046 JMP $DD ;NUMBER, MUST BE FOR D-RAM
3593
3594 104122 122700 000124 1$: CMPB #'T,R0
3595 104126 001402 BEQ 2$ ;"DDT", START PDP-10 AT "DDTSRT"
3596 104130 000137 102102 JMP $DFERR
3597
3598 104134 104022 2$: TTITRM
3599 104136 104226 DFLEGAL ;DON'T DO THIS IF ALREADY RUNNING
3600 104140 013737 100070 157222 MOV TDDT,$$STJRS ;SETUP JRST INSTRUCTION
3601 104146 113737 100072 157224 MOVB TDDT+2,$$STJRS+2
3602 ;CAN'T ENTER DDT WHILE IN USER MODE.
3603 104154 104140 DFRDT
3604 104156 000134 134
3605 104160 032777 000002 053140 BIT #2,@.DAT1
3606 104166 001004 BNE 3$ ;BRANCH IF IN EXEC MODE
3607 PMSG <?Can't. KL10 in USER mode.>
3608 104170 104025 $PMSG
3609 104172 145265 $$CLIT
3610 104174 000137 100004 JMP $CNTLC
3611
3612 104200 005037 150022 3$: CLR TENTTY
3613 104204 012700 157222 MOV #$$STJRS,R0
3614 104210 104101 EXCT ;EXECUTE JRST TO START DDT
3615 104212 103273 BCC $RNN ;GO SAY -10 IS RUNNING
3616 104214 000137 104566 $DDTER: JMP .XCTER ;OR BARF IF MICRO CODE IS HUNG
3617
3618 ;SINGLE INSTRUCT PDP-10. ASSUME CLOCK IS RUNNING AND RUN IS SET
3619
3620 104220 104077 $SI: TENSP ;STOP TEN
3621 104222 103774 BCS $DDTER ;DID NOT STOP PROPERLY
3622 104224 005005 CLR R5
3623 104226 104016 TTISDL
3624 104230 103412 BCS 4$ ;NON-NUMBER
3625 104232 104011 TTIDEC
3626 104234 103401 BCS 2$ ;NO ARG, DO ONCE
3627 104236 010005 MOV R0,R5
3628 104240 104115 2$: DFXCTT ;PRESS CONTINUE PULSER
3629 104242 000012 CONBUT
3630 104244 104056 TDELAY ;SMALL TIME DELAY
3631 104246 005305 DEC R5 ;COMPLETED REQUESTED INSTRUCTIONS ?
3632 104250 003373 BGT 2$
3633 104252 000137 100230 JMP $KONSL ;YES, RETURN TO CONSOLE
3634
3635 104256 122700 000120 4$: CMPB #'P,R0
3636 104262 001366 BNE 2$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 104
CONS11 PAL[KL,SYS] Page 24.1 PDP-10 START/STOP FUNCTIONS
3637
3638 104264 104022 5$: TTITRM ;"SIP",SINGLE INSTRUCT AND PRINT
3639 104266 104115 DFXCTT ;STOP CLOCK
3640 104270 000000 STPCLK
3641 104272 000137 104466 JMP SIPNT ;REST SAME AS LAST OF "EXP"
3642
3643 ;DIAGNOSTIC FUNCTION LEGALITY CHECK
3644
3645 104276 005737 147670 $DFLEGAL:TST TENRUN ;PDP-10 PRESENTLY RUNNING ?
3646 104302 001002 BNE 1$ ;YES, OPERATION ILLEGAL, ABORT
3647 EXIT
3648 104304 000137 124064 JMP $EXIT
3649 1$: PMSG <?KL10 RUNNING, TYPE "SP" FIRST>
3650 104310 104025 $PMSG
3651 104312 145320 $$CLIT
3652 104314 000137 100624 JMP $$$CC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 105
CONS11 PAL[KL,SYS] Page 25 PDP-10 START/STOP FUNCTIONS
3653 ;PULSE THE E-BOX CLOCK
3654
3655 104320 104226 .PL: DFLEGAL ;FUNCTION LEGAL ?
3656 104322 005037 152216 CLR TENCLK ;TURN OFF CLOCK IF ON
3657 104326 104016 TTISDL
3658 104330 103404 BCS 1$ ;NO ARG, DO ONCE
3659 104332 104011 TTIDEC
3660 104334 103402 BCS 1$ ;DO ONCE ANYWAY
3661 104336 010001 MOV R0,R1 ;SAVE PULSE COUNT
3662 104340 000401 BR 2$
3663 104342 005001 1$: CLR R1
3664 104344 104135 2$: ECLOK
3665 104346 103002 BCC 3$
3666 104350 004137 141100 JSR R1,$ECTIM
3667 104354 005301 3$: DEC R1 ;DONE REQUESTED CLOCKS ?
3668 104356 003372 BGT 2$ ;NOT YET
3669 104360 000137 100230 .PLX: JMP $KONSL
3670
3671 ;START MICROCODE IDLE.
3672 ;SUPPORT EXAMINE, DEPOSIT, AND EXECUTE OPERATIONS.
3673
3674 104364 104022 .SM: TTITRM
3675 104366 104100 SM ;DO THE EMT
3676 104370 103476 BCS .XCTER
3677 104372 000772 BR .PLX
3678
3679 ;CACHE INVALIDATE
3680
3681 104374 012700 104420 .CI: MOV #$$CI,R0
3682
3683 104400 104022 .CIF: TTITRM
3684 104402 104226 DFLEGAL ;FUNCTION LEGAL ?
3685 104404 104101 EXCT
3686 104406 103467 BCS .XCTER ;FAILED
3687 104410 000763 BR .PLX ;OK, RETURN TO CONSOLE
3688
3689 ;CACHE FLUSH
3690
3691 104412 012700 104425 .CF: MOV #$$CF,R0
3692 104416 000770 BR .CIF
3693
3694 $$CI: IO10 DATAI,CCA,,0 ;INVALIDATE WITHOUT CORE UPDATE
3695 000000 .IIF B ,I=0
3696 .IIF NB ,I=
3697 000000 .IIF B ,XR=0
3698 .IIF NB ,XR=
3699 000002 BLKO=2
3700 000003 DATAO=3
3701 000000 BLKI=0
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 106
CONS11 PAL[KL,SYS] Page 25.1 PDP-10 START/STOP FUNCTIONS
3702 000001 DATAI=1
3703 000004 CONO=4
3704 000005 CONI=5
3705 000006 CONSZ=6
3706 000007 CONSO=7
3707 000000 APR=0
3708 000004 PI=4
3709 000010 PAG=10
3710 000014 CCA=14
3711 000000 ADH=0
3712 000000 ADL=0
3713 .IRPC AD1,0
3714 .IIF GE <ADL-10000>,ADH=ADL/10000
3715 ADL=10*<ADL&7777>+AD1
3716 .ENDM
3717 770000 .IIF GE <ADL-10000>,ADH=ADL/10000
3718 000000 ADL=10*<ADL&7777>+0
3719 $$CF: IO10 BLKO,CCA,,0 ;SWEEP CACHE, VALIDATING CORE
3720 000000 .IIF B ,I=0
3721 .IIF NB ,I=
3722 000000 .IIF B ,XR=0
3723 .IIF NB ,XR=
3724 000002 BLKO=2
3725 000003 DATAO=3
3726 000000 BLKI=0
3727 000001 DATAI=1
3728 000004 CONO=4
3729 000005 CONI=5
3730 000006 CONSZ=6
3731 000007 CONSO=7
3732 000000 APR=0
3733 000004 PI=4
3734 000010 PAG=10
3735 000014 CCA=14
3736 000000 ADH=0
3737 000000 ADL=0
3738 .IRPC AD1,0
3739 .IIF GE <ADL-10000>,ADH=ADL/10000
3740 ADL=10*<ADL&7777>+AD1
3741 .ENDM
3742 770000 .IIF GE <ADL-10000>,ADH=ADL/10000
3743 000000 ADL=10*<ADL&7777>+0
3744 104432 .EVEN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 107
CONS11 PAL[KL,SYS] Page 26 PDP-10 START/STOP FUNCTIONS
3745 ;EXECUTE A PDP10 INSTRUCTION.
3746
3747 104432 104077 .XCT: TENSP ;STOP TEN
3748 104434 103454 BCS .XCTER ;DID NOT STOP PROPERLY
3749
3750 104436 104016 TTISDL
3751 104440 103404 BCS 1$ ;NON-NUMBER
3752
3753 104442 104020 TTIS36
3754
3755 104444 104101 EXCT
3756 104446 103447 BCS .XCTER
3757
3758 104450 000433 BR .XCT2
3759
3760 104452 122700 000120 1$: CMPB #'P,R0 ;"EXP" = EXECUTE & PRINT
3761 104456 001032 BNE .XCT1
3762
3763 104460 104020 TTIS36
3764
3765 104462 104102 LODAR ;LOAD INTO AR
3766 104464 103440 BCS .XCTER
3767
3768 104466 SIPNT=.
3769 104466 104044 PNORML
3770 104470 104115 DFXCTT ;SET CONTINUE BUTTON
3771 104472 000012 CONBUT
3772
3773 104474 104135 2$: ECLOK ;CLOCK TO GET STARTED
3774 104476 103002 BCC 3$
3775 104500 004137 141100 JSR R1,$ECTIM
3776
3777 104504 032777 001000 052636 3$: BIT #HALTLP,@.DIAG1
3778 104512 001370 BNE 2$ ;TILL WE LEAVE HALT LOOP
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 108
CONS11 PAL[KL,SYS] Page 27 PDP-10 START/STOP FUNCTIONS
3779 104514 104132 PNTCPU ;PRINT C-RAM & REGISTERS
3780
3781 104516 104135 4$: ECLOK ;CLOCK
3782 104520 103002 BCC 5$
3783 104522 004137 141100 JSR R1,$ECTIM
3784
3785 104526 104132 5$: PNTCPU ;& PRINT TILL BACK TO HALT LOOP
3786
3787 104530 032777 001000 052612 BIT #HALTLP,@.DIAG1
3788 104536 001767 BEQ 4$
3789
3790 104540 000137 100230 .XCT2: JMP $KONSL
3791
3792 104544 122700 000124 .XCT1: CMPB #'T,R0 ;"EXT" = EXECUTE & TRACE SETUP
3793 104550 001012 BNE .CNSER
3794
3795 104552 104020 TTIS36
3796
3797 104554 104102 LODAR ;LOAD INTO AR
3798 104556 103403 BCS .XCTER
3799
3800 104560 104115 DFXCTT ;SET CONTINUE BUTTON
3801 104562 000012 CONBUT
3802
3803 104564 000765 BR .XCT2
3804
3805 .XCTER: PMSG <?UCODE HUNG>
3806 104566 104025 $PMSG
3807 104570 145357 $$CLIT
3808 104572 000137 100004 JMP $CNTLC
3809
3810 104576 000137 102102 .CNSER: JMP $DFERR
3811
3812 ;BURST THE KL10 CLOCK
3813
3814 104602 104226 .BU: DFLEGAL ;FUNCTION LEGAL ?
3815 104604 005037 152216 CLR TENCLK ;TURN OFF CLOCKK IF ON
3816 104610 104016 TTISDL
3817 104612 103404 BCS 2$ ;NO ARG, DO ONCE
3818 104614 104011 TTIDEC
3819 104616 103402 BCS 2$ ;DO ONCE ANYWAY
3820 104620 104131 1$: BURST ;PERFORM BURST
3821 104622 000746 BR .XCT2
3822 104624 012700 000001 2$: MOV #1,R0 ;DO ONE BURST
3823 104630 000773 BR 1$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 109
CONS11 PAL[KL,SYS] Page 28 PDP-10 START/STOP FUNCTIONS
3824 ;SELECT CLOCK SOURCE
3825
3826 104632 104016 .CS: TTISDL
3827 104634 103012 BCC 1$
3828 104636 013700 157246 MOV CLKDFL,R0
3829 SR R0,2
3830 104646 .CSR=.
3831 104646 042700 177774 BIC #177774,R0
3832 104652 104030 PNTNBR
3833 104654 104031 PCRLF
3834 104656 000137 100014 JMP $CONSL
3835
3836 104662 104017 1$: TTISDO
3837 104664 020027 000002 CMP R0,#2
3838 104670 003022 BGT .CSRER
3839
3840 104672 104054 SHIFTL
3841 104674 000002 2
3842 104676 042737 000014 157246 BIC #14,CLKDFL ;CLEAR OLD SOURCE
3843 104704 050037 157246 .CCMN1: BIS R0,CLKDFL ;SET NEW SOURCE
3844 104710 104226 .CCMN: DFLEGAL ;FUNCTION LEGAL ?
3845 104712 005737 147670 TST TENRUN
3846 104716 001402 BEQ 1$
3847 104720 104077 TENSP ;STOP TEN
3848 104722 103721 BCS .XCTER ;DID NOT STOP PROPERLY
3849 104724 104141 1$: DFWRTT ;WRITE TO CLOCK
3850 104726 157246 CLKDFL
3851 104730 000044 LDSEL
3852 104732 000137 100230 JMP $KONSL
3853
3854 104736 000137 113356 .CSRER: JMP $PARA
3855
3856 ;SELECT CLOCK RATE
3857
3858 104742 104016 .CR: TTISDL
3859 104744 103003 BCC 1$
3860 104746 013700 157246 MOV CLKDFL,R0
3861 104752 000735 BR .CSR
3862
3863 104754 104017 1$: TTISDO
3864 104756 020027 000003 CMP R0,#3
3865 104762 003365 BGT .CSRER
3866
3867 104764 042737 000003 157246 BIC #3,CLKDFL ;CLEAR OLD RATE
3868 104772 000744 BR .CCMN1
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 110
CONS11 PAL[KL,SYS] Page 29 PDP-10 START/STOP FUNCTIONS
3869 ;PROCESSOR PARITY DISABLE
3870
3871 104774 104022 .PD: TTITRM
3872 104776 005037 157262 CLR PEBITS ;CLEAR PARITY ENABLE BITS
3873 105002 000137 100014 JMP $CONSL
3874
3875 ;PARITY ENABLED AND CLOCK ERROR STOP MESSAGES
3876
3877 105006 054
3878 105007 040
3879 105010 101
3880 105011 122
3881 105012 057
3882 105013 101
3883 105014 122
3884 105015 130
3885 105016 000
3886 $PEAR: .ASCIZ %, AR/ARX%
3887 105017 054
3888 105020 040
3889 105021 106
3890 105022 115
3891 105023 040
3892 105024 120
3893 105025 101
3894 105026 122
3895 105027 111
3896 105030 124
3897 105031 131
3898 105032 000
3899 $PEFM: .ASCIZ %, FM PARITY%
3900 105033 054
3901 105034 040
3902 105035 103
3903 105036 122
3904 105037 101
3905 105040 115
3906 105041 040
3907 105042 120
3908 105043 101
3909 105044 122
3910 105045 111
3911 105046 124
3912 105047 131
3913 105050 000
3914 $PECR: .ASCIZ %, CRAM PARITY%
3915 105051 054
3916 105052 040
3917 105053 104
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 111
CONS11 PAL[KL,SYS] Page 29.1 PDP-10 START/STOP FUNCTIONS
3918 105054 122
3919 105055 101
3920 105056 115
3921 105057 040
3922 105060 120
3923 105061 101
3924 105062 122
3925 105063 111
3926 105064 124
3927 105065 131
3928 105066 000
3929 $PEDR: .ASCIZ %, DRAM PARITY%
3930 105067 054
3931 105070 040
3932 105071 106
3933 105072 123
3934 105073 040
3935 105074 120
3936 105075 122
3937 105076 117
3938 105077 102
3939 105100 105
3940 105101 000
3941 $PEFS: .ASCIZ %, FS PROBE%
3942 105102 .EVEN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 112
CONS11 PAL[KL,SYS] Page 30 PDP-10 START/STOP FUNCTIONS
3943 ;PROCESSOR PARITY ENABLE
3944
3945 ;PARITY ENABLE BITS ARE CODED AS FOLLOWS:
3946 ; AR/ARX, FM, CRAM, DRAM, FS
3947 ; 0 = PARITY DISABLED
3948 ; 37 WOULD = ALL ENABLED
3949
3950 105102 104016 .PE: TTISDL
3951 105104 103043 BCC 1$
3952
3953 20$: PMSG <ENABLED: >
3954 105106 104025 $PMSG
3955 105110 145373 $$CLIT
3956 105112 013701 157262 MOV PEBITS,R1 ;PRINT PARITY ENABLE BITS
3957 105116 010100 MOV R1,R0
3958 105120 104047 PNTODT
3959 105122 000002 2
3960 105124 032701 000020 10$: BIT #20,R1
3961 105130 001402 BEQ 11$
3962 105132 104025 $PMSG
3963 105134 105006 $PEAR ;AR/ARX PAGE FAIL
3964 105136 032701 000010 11$: BIT #10,R1
3965 105142 001402 BEQ 12$
3966 105144 104025 $PMSG
3967 105146 105017 $PEFM ;FM PARITY
3968 105150 032701 000004 12$: BIT #4,R1
3969 105154 001402 BEQ 13$
3970 105156 104025 $PMSG
3971 105160 105033 $PECR ;CRAM PARITY
3972 105162 032701 000002 13$: BIT #2,R1
3973 105166 001402 BEQ 14$
3974 105170 104025 $PMSG
3975 105172 105051 $PEDR ;DRAM PARITY
3976 105174 032701 000001 14$: BIT #1,R1
3977 105200 001402 BEQ 15$
3978 105202 104025 $PMSG
3979 105204 105067 $PEFS ;FS PROBE
3980 105206 104031 15$: PCRLF
3981 105210 000137 100014 3$: JMP $CONSL
3982
3983 105214 104017 1$: TTISDO
3984 105216 020027 000037 CMP R0,#37
3985 105222 003245 BGT .CSRER
3986 105224 010037 157262 MOV R0,PEBITS ;SAVE
3987 105230 000726 BR 20$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 113
CONS11 PAL[KL,SYS] Page 31 PDP-10 START/STOP FUNCTIONS
3988 ;MICRO-CODE SYNC MARK ROUTINES
3989
3990 105232 012705 777777 .MU: MOV #-1,R5 ;MICRO UNMARK
3991 105236 000401 BR .MMC
3992
3993 105240 005005 .MM: CLR R5 ;MICRO MARK
3994
3995 105242 104226 .MMC: DFLEGAL ;FUNCTION LEGAL ?
3996 105244 104021 TTICRA ;GET C-RAM ADDRESS
3997 105246 010037 147724 MOV R0,$ECADR
3998
3999 105252 104074 RCRAM ;READ C-RAM
4000
4001 105254 005705 TST R5
4002 105256 001004 BNE 3$
4003 105260 052760 000020 000004 BIS #20,4(R0) ;SET MARK BIT
4004 105266 000403 BR .MMX
4005 105270 042760 000020 000004 3$: BIC #20,4(R0) ;CLEAR MARK BIT
4006
4007 105276 010001 .MMX: MOV R0,R1
4008 105300 013700 147724 MOV $ECADR,R0
4009 105304 104073 WCRAM ;WRITE C-RAM BACK
4010 105306 000137 100230 JMP $KONSL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 114
CONS11 PAL[KL,SYS] Page 32 PDP-10 START/STOP FUNCTIONS
4011 ;MICRO-CODE TIME FIELD CHANGE ROUTINE
4012
4013 105312 104226 .MT: DFLEGAL ;FUNCTION LEGAL ?
4014 105314 104021 TTICRA
4015 105316 010037 147724 MOV R0,$ECADR
4016
4017 105322 104017 TTISDO
4018 105324 020027 000003 CMP R0,#3 ;TIME FIELD IS 0-3
4019 105330 003202 BGT .CSRER
4020 105332 010005 MOV R0,R5
4021
4022 105334 013700 147724 MOV $ECADR,R0
4023 105340 104074 RCRAM ;READ C-RAM
4024 105342 042710 000012 BIC #12,(R0) ;CLEAR OLD TIME
4025 105346 005004 CLR R4
4026 105350 032705 000002 BIT #2,R5
4027 105354 001402 BEQ 1$
4028 105356 052704 000010 BIS #10,R4
4029 105362 032705 000001 1$: BIT #1,R5
4030 105366 001402 BEQ 2$
4031 105370 052704 000002 BIS #2,R4
4032 105374 050410 2$: BIS R4,(R0) ;SET NEW TIME
4033 105376 000737 BR .MMX
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 115
CONS11 PAL[KL,SYS] Page 33 PDP-10 START/STOP FUNCTIONS
4034 ;CACHE ENABLE
4035
4036 ;CACHE ENABLE BITS ARE CODED AS FOLLOWS:
4037 ; 10 = CACHE 0
4038 ; 4 = CACHE 1
4039 ; 2 = CACHE 2
4040 ; 1 = CACHE 3
4041 ; 17 SIGNIFIES ALL CACHES ENABLED
4042
4043 105400 104016 .CE: TTISDL ;GET ENABLE CODE
4044 105402 103411 BCS 20$ ;CR, PRINT ENABLE
4045 105404 104017 1$: TTISDO
4046 105406 020027 000017 CMP R0,#17 ;ENABLE IS 0 TO 17
4047 105412 003003 BGT 2$
4048 105414 010037 157252 MOV R0,CLKDFL+4 ;PUT IN CLOCK DEFAULT PARAMETER WORD
4049 105420 000402 BR 20$
4050 105422 000137 113452 2$: JMP $PARAM
4051
4052 20$: PMSG <CACHES ENABLED: >
4053 105426 104025 $PMSG
4054 105430 145405 $$CLIT
4055 105432 013701 157252 MOV CLKDFL+4,R1
4056 105436 010100 MOV R1,R0
4057 105440 104047 PNTODT ;PRINT CODE
4058 105442 000002 2
4059 105444 005002 21$: CLR R2
4060 105446 032701 000010 BIT #10,R1 ;CACHE 0 ENABLED ?
4061 105452 001402 BEQ 22$
4062 105454 004737 105532 JSR PC,.CEP
4063
4064 105460 005202 22$: INC R2
4065 105462 032701 000004 BIT #4,R1 ;CACHE 1 ENABLED ?
4066 105466 001402 BEQ 23$
4067 105470 004737 105532 JSR PC,.CEP
4068
4069 105474 005202 23$: INC R2
4070 105476 032701 000002 BIT #2,R1 ;CACHE 2 ENABLED ?
4071 105502 001402 BEQ 24$
4072 105504 004737 105532 JSR PC,.CEP
4073
4074 105510 005202 24$: INC R2
4075 105512 032701 000001 BIT #1,R1 ;CACHE 3 ENABLED ?
4076 105516 001402 BEQ 25$
4077 105520 004737 105532 JSR PC,.CEP
4078
4079 105524 104031 25$: PCRLF
4080 105526 000137 100014 JMP $CONSL
4081
4082 .CEP: PMSG <, CACHE >
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 116
CONS11 PAL[KL,SYS] Page 33.1 PDP-10 START/STOP FUNCTIONS
4083 105532 104025 $PMSG
4084 105534 145426 $$CLIT
4085 105536 010200 MOV R2,R0
4086 105540 104030 PNTNBR ;PRINT CACHE ENABLE DIGIT
4087 105542 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 117
CONS11 PAL[KL,SYS] Page 34 PDP-10 START/STOP FUNCTIONS
4088 ;AC BLOCK SELECTION
4089 ;SETS UP "PAGDFL" WORD USED BY "DATAO PAG,0"
4090 ;DURING "STD,STM,STL & DDT" START COMMANDS
4091 ;SAME "PAGDFL" WORD USED BY "DATAO PAG,20"
4092 ;DURING AC BLOCK SELECTION COMMAND
4093
4094 105544 104226 .AC: DFLEGAL
4095 105546 012705 157256 MOV #PAGDFL+2,R5
4096 105552 104016 TTISDL ;ALLOW FOR "ACBLK" OR "AC BLK"
4097 105554 103103 BCC 5$ ;NUMBER
4098 105556 122700 000102 CMPB #'B,R0
4099 105562 001100 BNE 5$
4100 105564 104005 TTICHR
4101 105566 122700 000114 CMPB #'L,R0
4102 105572 001074 BNE 5$
4103 105574 104005 TTICHR
4104 105576 122700 000113 CMPB #'K,R0
4105 105602 001070 BNE 5$
4106
4107 105604 104016 TTISDL ;ANY NUMBER ?
4108 105606 103424 BCS 4$ ;NO, PRINT PRESENT SELECTION
4109
4110 105610 104017 TTISDO ;GET SELECTION DIGIT
4111 105612 020027 000007 CMP R0,#7 ;MUST BE 0 TO 7
4112 105616 003062 BGT 5$
4113 105620 001450 BEQ 3$ ;IF BLK #7, GIVE UCODE WARNING
4114
4115 1$: PUSH R0
4116 PMSG <PREV AC BLK >
4117 105624 104025 $PMSG
4118 105626 145437 $$CLIT
4119 105630 011500 MOV (R5),R0
4120 105632 104053 SHIFTR
4121 105634 000013 11.
4122 105636 104030 PNTNBR
4123 105640 104214 PNTCI
4124 105642 020054 ",
4125 POP R0
4126 105646 104054 SHIFTL ;PLACE SELECTION DIGIT IN BITS 6-8
4127 105650 000013 11.
4128 105652 042715 034000 BIC #034000,(R5)
4129 105656 050015 BIS R0,(R5) ;INSERT IN PAGE DEFAULT WORD
4130 4$: PMSG <SELECTED AC BLK >
4131 105660 104025 $PMSG
4132 105662 145454 $$CLIT
4133 105664 011500 MOV (R5),R0 ;PRINT PRESENT AC BLOCK SELECTION
4134 105666 104053 SHIFTR
4135 105670 000013 11.
4136 105672 104030 PNTNBR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 118
CONS11 PAL[KL,SYS] Page 34.1 PDP-10 START/STOP FUNCTIONS
4137 105674 104031 PCRLF
4138 105676 104104 EXAMT ;SAVE MEM LOCATION 20
4139 105700 000020 20
4140 105702 147566 $SAV20
4141 105704 103423 BCS 6$
4142 105706 104110 DPOSVT ;PUT DATAO PAG ARGUMENT IN 20
4143 105710 000020 20
4144 105712 157254 PAGDFL
4145 105714 103417 BCS 6$
4146 105716 012700 105770 MOV #DATPAG,R0
4147 105722 104101 EXCT ;EXECUTE DATAO PAG
4148 105724 103413 BCS 6$
4149 105726 104110 DPOSVT ;RESTORE 20
4150 105730 000020 20
4151 105732 147566 $SAV20
4152 105734 103407 BCS 6$
4153 105736 000137 100014 JMP $CONSL
4154
4155 3$: PUSH R0
4156 PMSG <UCODE BLK\>
4157 105744 104025 $PMSG
4158 105746 145475 $$CLIT
4159 POP R0
4160 105752 000723 BR 1$
4161
4162 6$: PMSG <?SELECTION ERR>
4163 105754 104025 $PMSG
4164 105756 145510 $$CLIT
4165 105760 000137 100004 JMP $CNTLC
4166
4167 105764 000137 113452 5$: JMP $PARAM ;ERROR
4168
4169 DATPAG: IO10 DATAO,PAG,,20 ;SELECT AC BLOCK
4170 000000 .IIF B ,I=0
4171 .IIF NB ,I=
4172 000000 .IIF B ,XR=0
4173 .IIF NB ,XR=
4174 000002 BLKO=2
4175 000003 DATAO=3
4176 000000 BLKI=0
4177 000001 DATAI=1
4178 000004 CONO=4
4179 000005 CONI=5
4180 000006 CONSZ=6
4181 000007 CONSO=7
4182 000000 APR=0
4183 000004 PI=4
4184 000010 PAG=10
4185 000014 CCA=14
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 119
CONS11 PAL[KL,SYS] Page 34.2 PDP-10 START/STOP FUNCTIONS
4186 000000 ADH=0
4187 000000 ADL=0
4188 .IRPC AD1,20
4189 .IIF GE <ADL-10000>,ADH=ADL/10000
4190 ADL=10*<ADL&7777>+AD1
4191 .ENDM
4192 770000 .IIF GE <ADL-10000>,ADH=ADL/10000
4193 000002 ADL=10*<ADL&7777>+2
4194 770002 .IIF GE <ADL-10000>,ADH=ADL/10000
4195 000020 ADL=10*<ADL&7777>+0
4196 105776 .EVEN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 120
CONS11 PAL[KL,SYS] Page 35 PDP-10 START/STOP FUNCTIONS
4197 ;START PDP10 AT ADDRESS SPECIFIED AS LOWER 18 BITS OF 36-BIT ARGUMENT.
4198
4199 105776 104226 $ST: DFLEGAL ;PDP-10 MUST BE STOPPED BEFORE YOU CAN START IT
4200 106000 104016 TTISDL
4201 106002 103472 BCS 4$ ;NON-NUMBER
4202 106004 104020 TTIS36
4203 106006 $$ST=.
4204 106006 005005 CLR R5
4205 106010 012701 157222 5$: MOV #$$STJRS,R1
4206 106014 112021 MOVB (R0)+,(R1)+
4207 106016 112021 MOVB (R0)+,(R1)+
4208 106020 142711 000003 BICB #3,(R1) ;CLEAR BITS 18-19
4209 106024 151011 BISB (R0),(R1) ;SET LAST TWO BITS
4210
4211 106026 005705 3$: TST R5 ;ADDRESS START?
4212 106030 001442 BEQ 11$ ;YES. DO JUST A JRST
4213 106032 104100 SM ;START MACHINE. RESET MACHINE
4214 106034 103502 BCS $STERR
4215 106036 104110 DPOSVT ;DEPOSIT "DATAO PAG,0" ARGUMENT
4216 106040 000000 0 ;IN AC0, SELECTS CURRENT AC USAGE
4217 106042 157254 PAGDFL
4218 106044 103476 BCS $STERR
4219 106046 104055 SETFLG ;SET TEN RUN FLAG
4220 106050 147670 TENRUN
4221 106052 005037 147422 .IIF DF SAILVR, CLR SWTDEP ;DISABLE AUTO-DEPOSIT!
4222 106056 104145 TENSW ;DEPOSIT PDP-10 SWITCHES
4223 106060 103002 BCC 32$
4224 106062 000137 110270 JMP C10SWE ;SWITCH ERROR
4225 106066 012701 000004 32$: MOV #4.,R1
4226 106072 012700 106246 MOV #$STTB1,R0
4227 1$: PUSH R0
4228 106100 104101 EXCT ;EXECUTE A TEN INSTR
4229 106102 103457 BCS $STERR
4230 POP R0
4231 106106 062700 000005 ADD #5,R0
4232 106112 005301 DEC R1
4233 106114 001370 BNE 1$ ;DO ANOTHER
4234 106116 004737 122044 JSR PC,$TI36C ;ZERO SELECTED AC BLOCK
4235 106122 012701 147462 MOV #$DRAM,R1
4236 106126 012700 000020 MOV #16.,R0 ;FROM AC0 TO AC17
4237 106132 104112 D10ZRO ;NECESSARY FOR FM PARITY
4238 106134 103442 BCS $STERR
4239 106136 012700 157222 11$: MOV #$$STJRS,R0
4240 106142 104101 EXCT ;EXECUTE JRST TO START ADR
4241 106144 103436 BCS $STERR
4242 106146 005037 150022 CLR TENTTY ;TURN OFF "TENCHR" ROUTINE
4243 106152 004737 115156 JSR PC,$CMCLR ;CLEAR COMMON STORAGE
4244 106156 012737 000144 152206 MOV #100.,$ENDCT ;REPORT EOP EVERY 100
4245 106164 000137 104002 JMP $RNN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 121
CONS11 PAL[KL,SYS] Page 35.1 PDP-10 START/STOP FUNCTIONS
4246
4247 106170 122700 000104 4$: CMPB #'D,R0 ;IF "STD", START 10 DIAGNOSTIC
4248 106174 001006 BNE 6$
4249 106176 012700 100064 MOV #TDIAG,R0
4250 106202 104022 7$: TTITRM
4251 106204 $$$ST=.
4252 106204 012705 777777 MOV #-1,R5
4253 106210 000677 BR 5$
4254
4255 106212 122700 000114 6$: CMPB #'L,R0 ;IF "STL", START PDP-10 LOADER
4256 106216 001003 BNE 8$
4257 106220 012700 100074 MOV #TLDR,R0
4258 106224 000766 BR 7$
4259
4260 106226 122700 000115 8$: CMPB #'M,R0 ;IF "STM", START PDP-10 MONITOR
4261 106232 001017 BNE .CNERR ;IF NONE, ERROR (DON'T START AT THE LAST START ADDR)
4262 106234 012700 100100 MOV #TMON,R0
4263 106240 000760 BR 7$
4264
4265 106242 000137 104566 $STERR: JMP .XCTER
4266
4267 000541 HRRI=541
4268 000515 HRLZI=515
4269 000254 JRST=254
4270 000200 DTE=200
4271
4272 $STTB1: IO10 CONO,APR,,267760 ;RESET APR
4273 000000 .IIF B ,I=0
4274 .IIF NB ,I=
4275 000000 .IIF B ,XR=0
4276 .IIF NB ,XR=
4277 000002 BLKO=2
4278 000003 DATAO=3
4279 000000 BLKI=0
4280 000001 DATAI=1
4281 000004 CONO=4
4282 000005 CONI=5
4283 000006 CONSZ=6
4284 000007 CONSO=7
4285 000000 APR=0
4286 000004 PI=4
4287 000010 PAG=10
4288 000014 CCA=14
4289 000000 ADH=0
4290 000000 ADL=0
4291 .IRPC AD1,267760
4292 .IIF GE <ADL-10000>,ADH=ADL/10000
4293 ADL=10*<ADL&7777>+AD1
4294 .ENDM
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 122
CONS11 PAL[KL,SYS] Page 35.2 PDP-10 START/STOP FUNCTIONS
4295 770000 .IIF GE <ADL-10000>,ADH=ADL/10000
4296 000002 ADL=10*<ADL&7777>+2
4297 770002 .IIF GE <ADL-10000>,ADH=ADL/10000
4298 000026 ADL=10*<ADL&7777>+6
4299 770026 .IIF GE <ADL-10000>,ADH=ADL/10000
4300 000267 ADL=10*<ADL&7777>+7
4301 770267 .IIF GE <ADL-10000>,ADH=ADL/10000
4302 002677 ADL=10*<ADL&7777>+7
4303 772677 .IIF GE <ADL-10000>,ADH=ADL/10000
4304 026776 ADL=10*<ADL&7777>+6
4305 000002 .IIF GE <ADL-10000>,ADH=ADL/10000
4306 067760 ADL=10*<ADL&7777>+0
4307 IO10 CONO,PI,,10000 ;PI SYSTEM CLEAR
4308 000000 .IIF B ,I=0
4309 .IIF NB ,I=
4310 000000 .IIF B ,XR=0
4311 .IIF NB ,XR=
4312 000002 BLKO=2
4313 000003 DATAO=3
4314 000000 BLKI=0
4315 000001 DATAI=1
4316 000004 CONO=4
4317 000005 CONI=5
4318 000006 CONSZ=6
4319 000007 CONSO=7
4320 000000 APR=0
4321 000004 PI=4
4322 000010 PAG=10
4323 000014 CCA=14
4324 000000 ADH=0
4325 000000 ADL=0
4326 .IRPC AD1,10000
4327 .IIF GE <ADL-10000>,ADH=ADL/10000
4328 ADL=10*<ADL&7777>+AD1
4329 .ENDM
4330 770000 .IIF GE <ADL-10000>,ADH=ADL/10000
4331 000001 ADL=10*<ADL&7777>+1
4332 770001 .IIF GE <ADL-10000>,ADH=ADL/10000
4333 000010 ADL=10*<ADL&7777>+0
4334 770010 .IIF GE <ADL-10000>,ADH=ADL/10000
4335 000100 ADL=10*<ADL&7777>+0
4336 770100 .IIF GE <ADL-10000>,ADH=ADL/10000
4337 001000 ADL=10*<ADL&7777>+0
4338 771000 .IIF GE <ADL-10000>,ADH=ADL/10000
4339 010000 ADL=10*<ADL&7777>+0
4340 IO10 CONO,PAG,,0 ;PAGING SYSTEM CLEAR
4341 000000 .IIF B ,I=0
4342 .IIF NB ,I=
4343 000000 .IIF B ,XR=0
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 123
CONS11 PAL[KL,SYS] Page 35.3 PDP-10 START/STOP FUNCTIONS
4344 .IIF NB ,XR=
4345 000002 BLKO=2
4346 000003 DATAO=3
4347 000000 BLKI=0
4348 000001 DATAI=1
4349 000004 CONO=4
4350 000005 CONI=5
4351 000006 CONSZ=6
4352 000007 CONSO=7
4353 000000 APR=0
4354 000004 PI=4
4355 000010 PAG=10
4356 000014 CCA=14
4357 000000 ADH=0
4358 000000 ADL=0
4359 .IRPC AD1,0
4360 .IIF GE <ADL-10000>,ADH=ADL/10000
4361 ADL=10*<ADL&7777>+AD1
4362 .ENDM
4363 770000 .IIF GE <ADL-10000>,ADH=ADL/10000
4364 000000 ADL=10*<ADL&7777>+0
4365 IO10 DATAO,PAG,,0 ;USER BASE CLEAR & AC SELECT
4366 000000 .IIF B ,I=0
4367 .IIF NB ,I=
4368 000000 .IIF B ,XR=0
4369 .IIF NB ,XR=
4370 000002 BLKO=2
4371 000003 DATAO=3
4372 000000 BLKI=0
4373 000001 DATAI=1
4374 000004 CONO=4
4375 000005 CONI=5
4376 000006 CONSZ=6
4377 000007 CONSO=7
4378 000000 APR=0
4379 000004 PI=4
4380 000010 PAG=10
4381 000014 CCA=14
4382 000000 ADH=0
4383 000000 ADL=0
4384 .IRPC AD1,0
4385 .IIF GE <ADL-10000>,ADH=ADL/10000
4386 ADL=10*<ADL&7777>+AD1
4387 .ENDM
4388 770000 .IIF GE <ADL-10000>,ADH=ADL/10000
4389 000000 ADL=10*<ADL&7777>+0
4390 106272 .EVEN
4391 106272 000137 113356 .CNERR: JMP $PARA
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 124
CONS11 PAL[KL,SYS] Page 36 PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS
4392 .SBTTL PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS
4393
4394 106276 012705 147704 .DP: MOV #.DPXAD,R5
4395 106302 104016 TTISDL
4396 106304 103426 BCS .DPS
4397 106306 104020 TTIS36
4398 106310 012025 MOV (R0)+,(R5)+ ;LOW ADDRESS
4399 106312 011015 MOV (R0),(R5) ;HIGH ADDRESS
4400 106314 005745 .DPNX1: TST -(R5)
4401
4402 106316 104020 .DPCOM: TTIS36 ;GET DATA
4403 106320 010501 MOV R5,R1 ;PTR TO ADR
4404 106322 004737 106366 JSR PC,$TENRN
4405 106326 104105 DPOS ;DO IT
4406 106330 103402 BCS .DPCM1
4407 106332 000137 100230 $VBX: JMP $KONSL
4408
4409 .DPCM1: PMSG <?DM>
4410 106336 104025 $PMSG
4411 106340 145527 $$CLIT
4412 106342 004137 141104 JSR R1,$DFTM1
4413
4414 106346 012705 147704 .DPNX: MOV #.DPXAD,R5
4415 106352 062725 000001 ADD #1,(R5)+ ;BUMP LOW
4416 106356 005515 ADC (R5) ;CARRY TO HIGH
4417 106360 000755 BR .DPNX1
4418
4419 106362 102755 .DPS: BVS .DPCOM ;COLON, USE PRESENT ADDRESS
4420 106364 000742 BR .CNERR
4421
4422 106366 032777 004000 050754 $TENRN: BIT #ERRSTP,@.DIAG1 ;TEN CLOCK RUNNING ?
4423 106374 001402 BEQ 1$ ;YES, OK
4424 106376 000137 107566 JMP TENCERR ;NO, REPORT IT
4425 106402 000207 1$: RTS PC
4426
4427 106404 104022 $VB: TTITRM
4428 106406 005737 147564 TST VRBFLG
4429 106412 001405 BEQ $VB1
4430 106414 005037 147564 CLR VRBFLG
4431 PMSG <CONCISE TYPEOUT
4432 >
4433 106420 104025 $PMSG
4434 106422 145533 $$CLIT
4435 106424 000742 BR $VBX
4436
4437 106426 104055 $VB1: SETFLG
4438 106430 147564 VRBFLG
4439 PMSG <VERBOSE TYPEOUT
4440 >
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 125
CONS11 PAL[KL,SYS] Page 36.1 PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS
4441 106432 104025 $PMSG
4442 106434 145555 $$CLIT
4443 106436 000735 BR $VBX
4444
4445 106440 104022 $KA: TTITRM
4446 106442 004737 110540 JSR PC,KASET ;ENABLE KASIM
4447 106446 000731 BR $VBX
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 126
CONS11 PAL[KL,SYS] Page 37 PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS
4448 ;MEMORY ZERO
4449 ; "MZ ADR,COUNT"
4450
4451 106450 104226 .MZ: DFLEGAL ;FUNCTION LEGAL ?
4452 106452 104020 TTIS36 ;INPUT PDP-10 START ADDRESS
4453 106454 013737 147462 147540 MOV $DRAM,MMDAT ;SAVE IT
4454 106462 013737 147464 147542 MOV $DRAM+2,MMDAT+2
4455 106470 012701 147540 MOV #MMDAT,R1 ;POINTER FOR D10ZRO
4456 106474 104020 TTIS36 ;INPUT NUMBER OF PDP-10 WORDS
4457 106476 103437 BCS 1$
4458 106500 013702 147464 MOV $DRAM+2,R2 ;PICK UP NUMBER OF 64K MOBIES
4459 106504 001425 BEQ 2$
4460 106506 100004 BPL 4$
4461 106510 012702 000010 MOV #XMEMSZ/64.,R2 ;MZ 0,-1. DON'T TRY TO CLEAR
4462 106514 005037 147462 CLR $DRAM ; 4096 MILLION WORDS.
4463 106520 005000 4$: CLR R0 ;CLEAR ONE SMALL MOBY
4464 106522 104112 D10ZRO
4465 106524 103430 BCS 3$
4466 106526 004737 120670 JSR PC,$TIRDY ;ALLOW ↑C IN THIS SLOW LOOP
4467 106532 103406 BCS 69$
4468 106534 123727 147744 000003 CMPB $TICHR,#CNTRLC
4469 106542 001002 BNE 69$
4470 106544 000137 120524 JMP $TICC ;↑C, ABORT
4471
4472 106550 005237 147542 69$: INC MMDAT+2 ;BUMP ADDRESS
4473 106554 005302 DEC R2
4474 106556 003360 BGT 4$
4475 106560 013700 147462 2$: MOV $DRAM,R0 ;CLEAR FINAL FRACTIONAL MOBY
4476 106564 001402 BEQ 5$ ;EXACT MULTIPLE OF 64K
4477 106566 104112 D10ZRO ;ZERO MEMORY
4478 106570 103406 BCS 3$
4479
4480 106572 000137 100230 5$: JMP $KONSL
4481
4482 106576 012737 000001 147462 1$: MOV #1,$DRAM ;NO COUNT SPECIFIED
4483 106604 000765 BR 2$ ;SO CLEAR ONE WORD
4484
4485 3$: PMSG <?MZ>
4486 106606 104025 $PMSG
4487 106610 145577 $$CLIT
4488 106612 004137 141104 JSR R1,$DFTM1
4489 106616 000137 107030 JMP $RUNLP
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 127
CONS11 PAL[KL,SYS] Page 38 PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS
4490 106622 012705 147704 .EXM: MOV #.DPXAD,R5
4491 106626 005003 CLR R3
4492 106630 104016 TTISDL
4493 106632 103456 BCS .EXMSP ;NON-NUMBER
4494 106634 104020 TTIS36 ;GET PDP-10 ADDRESS
4495 106636 012025 MOV (R0)+,(R5)+ ;SAVE LOW 16 BITS
4496 106640 011015 MOV (R0),(R5) ;SAVE HIGH BITS
4497 106642 005745 TST -(R5)
4498 106644 104015 TTIBRK ;GET BREAK
4499 106646 103611 BCS .CNERR
4500 106650 122700 000054 CMPB #',,R0
4501 106654 001004 BNE .EXCOM
4502 106656 005103 COM R3 ;COMMA, MULTIPLE PRINT
4503 106660 104044 PNORML
4504 106662 104020 TTIS36 ;GET ENDING ADDRESS
4505 106664 011004 MOV (R0),R4 ;SAVE LOW 16 BITS
4506
4507 106666 010500 .EXCOM: MOV R5,R0
4508 106670 004737 106366 JSR PC,$TENRN
4509 106674 104103 EXAM
4510 106676 103424 BCS 3$
4511 106700 105737 147732 5$: TSTB RPTFLG
4512 106704 001017 BNE 1$
4513 106706 010500 MOV R5,R0
4514 106710 104137 PNTADR
4515 106712 104177 PNTBAK ;BACKUP POINTER TO WIPE OUT SPACE
4516 106714 104033 PSLASH
4517 106716 012700 147462 MOV #$DRAM,R0
4518 106722 104042 PNT36
4519 106724 005703 TST R3 ;DOING MULTIPLE PRINT ?
4520 106726 001405 BEQ 2$
4521 106730 104031 PCRLF
4522 106732 021504 CMP (R5),R4
4523 106734 001402 BEQ 2$
4524 106736 005215 INC (R5) ;INCREMENT LOW 16 BITS, 64K
4525 106740 000752 BR .EXCOM ;DO NEXT ADDRESS
4526 106742 104031 2$: PCRLF
4527 106744 000137 100230 1$: JMP $KONSL
4528
4529 106750 100404 3$: BMI 4$
4530 PMSG <?EM>
4531 106752 104025 $PMSG
4532 106754 145603 $$CLIT
4533 106756 004137 141104 JSR R1,$DFTM1
4534
4535 106762 104026 4$: $PMSGR
4536 106764 125116 $EBPAR ;E-BUS PARITY ERROR
4537 106766 000744 BR 5$
4538
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 128
CONS11 PAL[KL,SYS] Page 38.1 PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS
4539 106770 102405 .EXMSP: BVS .EXMNX ;COLON OR SLASH, EXAMINE NEXT
4540 106772 001335 BNE .EXCOM ;NONE, EXAMINE SAME
4541 106774 162725 000001 SUB #1,(R5)+ ;UPARROW, EXAMINE PREVIOUS
4542 107000 005615 SBC (R5)
4543 107002 000405 BR .EXMN1
4544 107004 012705 147704 .EXMNX: MOV #.DPXAD,R5
4545 107010 062725 000001 ADD #1,(R5)+
4546 107014 005515 ADC (R5)
4547 107016 005237 150716 .EXMN1: INC $INPTC
4548 107022 005003 CLR R3
4549 107024 005745 TST -(R5)
4550 107026 000717 BR .EXCOM
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 129
CONS11 PAL[KL,SYS] Page 39 CONSOLE IDLE RUN LOOP
4551 .SBTTL CONSOLE IDLE RUN LOOP
4552
4553 ;PROVIDES PDP-10 SUPPORT WHEN "TENRUN" SET
4554 ;AND ADDITIONALY PDP-10 MONITOR SUPPORT IF "MONMODE" SET
4555
4556 107030 105737 147670 $RUNLP: TSTB TENRUN ;PDP-10 RUN TIME SUPPORT ?
4557 107034 001002 BNE 1$ ;JUMP IF YES
4558 107036 000137 120150 JMP $TTILIN ;NO, CONSOLE COMMAND INPUT
4559
4560 107042 005037 147602 1$: CLR DDTTM2 ;SETUP DDT MODE TIMEOUT
4561 107046 032777 002000 050274 2$: BIT #KLRUN,@.DIAG1 ;IS THE KL10 RUNNING?
4562 107054 001002 BNE 3$ ;YES.
4563 107056 000137 107710 JMP TENDEAD ;PDP-10 HALTED
4564
4565 107062 032777 004000 050260 3$: BIT #ERRSTP,@.DIAG1 ;PDP-10 CLOCK ERROR STOP ?
4566 107070 001402 BEQ 31$ ;NO.
4567 107072 000137 107566 JMP TENCERR ;YES, REPORT.
4568
4569 107076 004737 110742 31$: JSR PC,C10COP ;PERFORM CLOCK OPERATIONS
4570 .LIF DF %%QMP
4571 107102 004737 137216 JSR PC,SND10 ;CHECK FOR QUEUED MESSAGE FOR 10
4572
4573 .LIF NDF %%QMP
4574 BIT #TO11DB,@.STDTE ;IS PDP-10 REQUESTING SERVICE?
4575
4576 .LIF DF %%QMP
4577 107106 005737 157136 TST T11DBF ;IS PDP-10 REQUESTING SERVICE?
4578
4579 107112 001141 BNE TENCMD ;YES.
4580
4581 107114 005737 147666 5$: TST MONMODE ;MONITOR SUPPORT MODE ?
4582 107120 001412 BEQ 20$ ;NO
4583
4584 107122 004737 120670 6$: JSR PC,$TIRDY ;TTY INPUT FLAG SET ?
4585 107126 103024 BCC MTTYIN ;YES, SEND CHAR TO 10
4586
4587 107130 005737 147664 7$: TST MTTYOF ;TTY OUTPUT IN PROGRESS ?
4588 107134 001744 BEQ 2$ ;NO
4589
4590 107136 004737 120776 8$: JSR PC,$TORDY ;TTY OUTPUT COMPLETED ?
4591 107142 103057 BCC MTTYOC ;YES, NOTIFY 10
4592 107144 000740 BR 2$ ;STAY IN MONITOR LOOP
4593
4594 107146 005737 147740 20$: TST DDTFLG ;PDP-10 DDT INPUT MODE ?
4595 107152 001405 BEQ 21$ ;NO
4596 107154 005337 147602 23$: DEC DDTTM2 ;WAITED LONG ENOUGH ?
4597 107160 001332 BNE 2$ ;NOT YET
4598 107162 005037 147740 CLR DDTFLG ;YES, REVERT TO CONSOLE MODE
4599
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 130
CONS11 PAL[KL,SYS] Page 39.1 CONSOLE IDLE RUN LOOP
4600 107166 004737 120670 21$: JSR PC,$TIRDY ;ANY TTY INPUT YET ?
4601 107172 103725 BCS 2$ ;NO, STAY IN RUN LOOP
4602 107174 000137 120064 JMP $TILRN ;YES, GO INPUT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 131
CONS11 PAL[KL,SYS] Page 40 CONSOLE IDLE RUN LOOP
4603 ;MONITOR TELETYPE CHARACTER INPUT -- MTTYIN MTTYI0 MTTYI1 C10DN1 MTTYER MTTYOC MTTYO MTTYP MTTYX MTTYC MTTYCF $MC MTTYS C10DN
4604 2
4605
4606 107200 113700 147744 MTTYIN: MOVB $TICHR,R0 ;GET INPUT CHAR
4607 107204 120027 000030 CMPB R0,#MSWCHR ;MONITOR TO "KLDCP" SWITCH CHAR ?
4608 107210 001004 BNE MTTYI1 ;JUMP IF NOT.
4609 MTTYI0: PMSG <\KLDCP\. ←>
4610 107212 104025 $PMSG
4611 107214 145607 $$CLIT
4612 107216 000137 120150 JMP $TTILIN ;READ ONE KLDCP COMMAND, REVERT TO RUN LOOP
4613
4614 107222 010037 147446 MTTYI1: MOV R0,TENDAT
4615 107226 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
4616 107234 104110 DPOSVT ;SEND CHAR TO TEN
4617 107236 000450 $DTF11
4618 107240 147446 TENDAT
4619 107242 103415 BCS MTTYER ;FAILED
4620 107244 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
4621 107252 104111 D10MON ;SET -1 TO 10 TTY INPUT FLAG
4622 107254 000456 $DTMTI
4623 107256 103407 BCS MTTYER
4624
4625 107260 005737 147660 C10DN1: TST KASIM
4626 107264 001261 BNE $RUNLP ;AVOID DINGING 10 IF KASIM
4627 107266 012777 000400 050060 C10DN2: MOV #INT10S,@.STDTE ;DING TEN
4628 107274 000655 BR $RUNLP
4629
4630 107276 000137 110100 MTTYER: JMP C10TIE
4631
4632 ;MONITOR TELETYPE OUTPUT COMPLETE
4633
4634 MTTYOC:
4635 107302 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
4636 107310 104111 D10MON ;SET -1 TO 10 TTY OUTPUT DONE FLAG
4637 107312 000455 $DTMTD
4638 107314 103770 BCS MTTYER
4639 107316 005037 147664 CLR MTTYOF ;CLEAR OUTPUT IN PROGRESS
4640 107322 000756 BR C10DN1
4641
4642 ;MONITOR TELETYPE OUTPUT ROUTINE
4643
4644 107324 010500 MTTYO: MOV R5,R0 ;GET OUTPUT CHAR
4645 107326 042700 177400 BIC #177400,R0 ;STRIP TO 8 BITS, 10 DOES PARITY
4646 107332 110037 147742 MOVB R0,$TOCHR ;PRINT CHAR
4647 107336 004737 121040 JSR PC,$TOOUT
4648 107342 104055 MTTYP: SETFLG
4649 107344 147664 MTTYOF ;SET OUTPUT IN PROGRESS FLAG
4650 107346 000467 MTTYX: BR C10DON ;ALLOW 10 TO CONTINUE
4651
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 132
CONS11 PAL[KL,SYS] Page 40.1 CONSOLE IDLE RUN LOOP
4652 ;MONITOR MODE CONTROL
4653
4654 107350 104055 MTTYC: SETFLG ;SET MONITOR MODE.
4655 107352 147666 MONMODE
4656 107354 000772 BR MTTYP ;SET OUTPUT IN PROGRESS, EVEN IF IT'S NOT.
4657
4658 107356 005037 147666 MTTYCF: CLR MONMODE ;CLEAR
4659 107362 000771 BR MTTYX
4660
4661 107364 104055 $MC: SETFLG ;CONSOLE MONITOR CONTINUE
4662 107366 147666 MONMODE
4663 107370 104055 SETFLG
4664 107372 147670 TENRUN ;ONLY WAY TO GET BACK FROM CONTROL C
4665 107374 104055 SETFLG
4666 107376 147614 PRGRUN
4667 107400 104055 SETFLG
4668 107402 147664 MTTYOF ;SET OUTPUT IN PROGRESS FLAG (even if not true)
4669 107404 000550 BR $$TDX
4670
4671 107406 013700 147666 MTTYS: MOV MONMODE,R0 ;SEND 10 MONITOR TTY STATE
4672 107412 000137 110056 JMP C10TIX
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 133
CONS11 PAL[KL,SYS] Page 41 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
4673 .SBTTL PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
4674
4675 TENCMD:
4676 107416 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
4677 107424 104104 EXAMT ;GET COMMAND CODE
4678 107426 000451 $DTCMD
4679 107430 147574 $ECMD
4680 107432 103004 BCC 1$
4681 107434 100002 BPL 2$ ;EXAMINE FAILED
4682 107436 104025 $PMSG
4683 107440 125116 $EBPAR ;E-BUS PARITY ERROR
4684 107442 000443 2$: BR C10DNX
4685
4686 107444 013705 147574 1$: MOV $ECMD,R5
4687 107450 010501 MOV R5,R1
4688 107452 000301 SWAB R1
4689 107454 042701 177760 BIC #177760,R1
4690 SL R1,1
4691 107462 000171 107466 JMP @CMD10T(R1) ;DISPATCH TO ROUTINE
4692
4693 107466 107772 CMD10T: C10TO ;TTY OUT
4694 107470 110406 C10PRG ;PROGRAM CONTROL
4695 107472 110574 C10CLK ;CLOCK
4696 107474 110170 C10SW ;SWITCHES
4697 107476 107772 C10TO ;TTY OUT
4698 107500 110020 C10TI ;TTY IN
4699 107502 110146 C10PNT ;PRINT CONTROL
4700 107504 110344 C10DDT ;DDT INPUT MODE
4701 107506 107324 MTTYO ;MONITOR TTY OUTPUT
4702 107510 107350 MTTYC ;MONITOR TTY MODE CONTROL ON
4703 107512 107356 MTTYCF ;MONITOR TTY MODE CONTROL OFF
4704 107514 107406 MTTYS ;MONITOR TTY STATE
4705 107516 137034 QMPCMD ;14 COMMAND FOR QMP (TO11 ITEM COUNT)
4706 107520 107552 C10DNX ;15-17 UNUSED NOW
4707 107522 107552 C10DNX
4708 107524 107552 C10DNX
4709
4710 C10DON:
4711 .IIF NDF %%QMP, MOV #INT11C,@.STDTE ;CLEAR DONG
4712 107526 005037 157136 .IIF DF %%QMP, CLR T11DBF ;CLEAR SOFTWARE DONG
4713 107532 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
4714 107540 104111 D10MON ;SET -1 TO 10 "$DTFLG"
4715 107542 000444 $DTFLG ;DTE20 OPERATION COMPLETE FLAG
4716 107544 103402 BCS C10DNX ;next page.
4717 107546 000137 107266 JMP C10DN2 ;DONG 10, WAIT FOR NEXT COMMAND
4718
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 134
CONS11 PAL[KL,SYS] Page 42 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
4719 ;C10DNX, TENCERR
4720
4721 .IF NDF %%QMP
4722 QMPCMD: ;COMMAND UNDEFINED IF NO QMP
4723 .ENDC
4724
4725 107552 005037 147670 C10DNX: CLR TENRUN
4726 PMSG <?10 CMD>
4727 107556 104025 $PMSG
4728 107560 145622 $$CLIT
4729 107562 004137 141104 JSR R1,$DFTM1 ;FALLS INTO TENCERR
4730 107566 005037 147670 TENCERR:CLR TENRUN
4731 107572 005037 147454 CLR KLCLKR ;CLEAR TEN RUNNING
4732 107576 104043 PFORCE
4733 PMSG <\KL10 CLOCK ERROR STOP>
4734 107600 104025 $PMSG
4735 107602 145632 $$CLIT
4736 107604 104140 DFRDT
4737 107606 000106 106
4738 107610 032777 000040 047504 BIT #BIT5,@.DAT3 ;FIELD SERVICE ?
4739 107616 001402 BEQ 1$
4740 107620 104025 $PMSG
4741 107622 105067 $PEFS ;FS PROBE
4742
4743 107624 104140 1$: DFRDT
4744 107626 000105 105
4745 107630 032777 000040 047464 BIT #BIT5,@.DAT3 ;FM PARITY ?
4746 107636 001402 BEQ 2$
4747 107640 104025 $PMSG
4748 107642 105017 $PEFM ;FM PARITY
4749
4750 107644 104140 2$: DFRDT
4751 107646 000104 104
4752 107650 032777 000040 047444 BIT #BIT5,@.DAT3 ;CRAM PARITY ?
4753 107656 001402 BEQ 3$
4754 107660 104025 $PMSG
4755 107662 105033 $PECR ;CRAM PARITY
4756
4757 107664 104140 3$: DFRDT
4758 107666 000103 103
4759 107670 032777 000040 047424 BIT #BIT5,@.DAT3 ;DRAM PARITY ?
4760 107676 001402 BEQ 4$
4761 107700 104025 $PMSG
4762 107702 105051 $PEDR ;DRAM PARITY
4763 107704 104132 4$: PNTCPU ;PRINT ALL CPU INFORMATION
4764 107706 000407 BR $$TDX
4765
4766 107710 005037 147670 TENDEAD: CLR TENRUN ;CLEAR TEN RUN FLAG
4767 107714 104043 PFORCE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 135
CONS11 PAL[KL,SYS] Page 42.1 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
4768 PMSG <\KL10 HALTED >
4769 107716 104025 $PMSG
4770 107720 145661 $$CLIT
4771 107722 004737 107732 JSR PC,$ALSTA
4772 107726 000137 100014 $$TDX: JMP $CONSL
4773
4774 107732 104055 $ALSTA: SETFLG ;MAKE COMMAND ROUTINES INTO SUBROUTINES!
4775 107734 147734 ALLFLG
4776 107736 004737 102642 JSR PC,$ALLPC ;PRINT PC
4777 107742 004737 102760 JSR PC,$ALVMA ; AND VMA
4778 107746 004737 103420 JSR PC,$ALLPI ; AND PI
4779 PMSG < >
4780 107752 104025 $PMSG
4781 107754 145677 $$CLIT
4782 107756 004737 103024 JSR PC,$ALPCF ; AND PC FLAGS
4783 107762 104031 PCRLF ;AND CRLF
4784 107764 005037 147734 CLR ALLFLG
4785 107770 000207 RTS PC
4786
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 136
CONS11 PAL[KL,SYS] Page 43 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
4787 ;C10TO, C10TI
4788
4789 107772 104055 C10TO: SETFLG ;TEN TO ELEVEN FOR TYPEOUT
4790 107774 150022 TENTTY ;ALLOW "TENCHR" TO OPERATE
4791 107776 012737 150032 150250 MOV #$TNBUF,$TNPTC ;RESET 10 INPUT POINTERS
4792 110004 012737 150032 150252 MOV #$TNBUF,$TNPTR
4793 110012 010501 MOV R5,R1 ;GET ASCII CHAR
4794 110014 104154 PLDBUF ;PUT IN TTY OUT BUFFER
4795 110016 000643 BR C10DON
4796
4797 110020 005037 147740 C10TI: CLR DDTFLG ;TTY INPUT TO 10
4798 110024 022737 150254 150474 CMP #$OUTBF,$OUTPT ;ANY OUTPUT WAITING ?
4799 110032 001025 BNE C10TIZ ;YES
4800 110034 023737 150250 150252 11$: CMP $TNPTC,$TNPTR ;CURRENT BUFFER EMPTY ?
4801 110042 002021 BGE C10TIZ ;YES
4802
4803 110044 013701 150250 MOV $TNPTC,R1 ;GET CHAR POINTER
4804 110050 112100 MOVB (R1)+,R0 ;FETCH CHAR FROM 10 BUFFER
4805 110052 010137 150250 MOV R1,$TNPTC
4806
4807 110056 010037 147446 C10TIX: MOV R0,TENDAT ;PUT CHAR IN 28-35 OF TEN WORD
4808 110062 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
4809 110070 104110 DPOSVT ;DEPOSIT IN FROM 11 WORD
4810 110072 000450 $DTF11
4811 110074 147446 TENDAT
4812 110076 103213 BCC C10DON
4813 C10TIE: PMSG <?10 TTI>
4814 110100 104025 $PMSG
4815 110102 145701 $$CLIT
4816 110104 000473 BR $$C1
4817 110106 104004 C10TIZ: TTILIN ;INPUT LINE FOR TEN
4818 110110 103414 BCS 5$ ;NO RESPONSE
4819 110112 012701 150032 MOV #$TNBUF,R1
4820 110116 104005 3$: TTICHR ;GET CHAR FROM INPUT
4821 110120 103402 BCS 4$ ;EMPTY
4822 110122 110021 MOVB R0,(R1)+ ;PUT IN TEN BUFFER
4823 110124 000774 BR 3$
4824 110126 010137 150252 4$: MOV R1,$TNPTR ;UPDATE 10 EOL POINTER
4825 110132 012737 150032 150250 MOV #$TNBUF,$TNPTC ;SET PICKUP POINTER TO START
4826 110140 000727 BR C10TI ;GO SEND FIRST CHAR TO TEN
4827 110142 005000 5$: CLR R0 ;NULL = TIMEOUT
4828 110144 000744 BR C10TIX
4829
4830 110146 010501 C10PNT: MOV R5,R1 ;GET CONTROL BYTE
4831 110150 042701 177400 BIC #177400,R1
4832 110154 010137 147760 MOV R1,$FORCE ;PUT IN FORCE FLAG
4833 110160 005037 147740 CLR DDTFLG ;CLEAR DDT MODE
4834 110164 000137 107526 C10X: JMP C10DON
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 137
CONS11 PAL[KL,SYS] Page 44 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
4835 ;Switch functions. C10SW
4836
4837 110170 010501 C10SW: MOV R5,R1 ;LOAD SWITCHES INTO FROM 11 WORD
4838 110172 042701 177774 BIC #177774,R1 ;2 BIT SUBFUNCTION
4839 SL R1,1
4840 110200 000171 110204 JMP @C10SWT(R1)
4841
4842 110204 110226 C10SWT: C10SW0 ;NORMAL SWITCH READ
4843 110206 110214 C10SW1 ;ENABLE AUTOMATIC DEPOSIT SWITCHES IN 10-MEMORY
4844 110210 110222 C10SW2 ;DISABLE AUTOMATIC DEPOSIT SWITCHES IN 10-MEMORY
4845 110212 110226 C10SW0 ;UNDEFINED.
4846
4847 110214 104055 C10SW1: SETFLG
4848 110216 147422 SWTDEP
4849 110220 000402 BR C10SW0
4850
4851 110222 005037 147422 C10SW2: CLR SWTDEP ;DON'T AUTO-DEPOSIT
4852 C10SW0:
4853 110226 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
4854 110234 104110 DPOSVT ;LOAD SWITCHES INTO FROM 11 WORD
4855 110236 000450 $DTF11
4856 110240 157240 SWS10
4857 110242 103412 BCS C10SWE ;BRANCH IF LOSING
4858
4859 110244 005737 147422 TST SWTDEP ;DID PDP-10 ASK FOR SWITCHES?
4860 110250 001745 BEQ C10X ;NO. WELL, DON'T STORE UNTIL ASKED. DONE
4861 110252 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
4862 110260 104110 DPOSVT ;LOAD SWITCHES INTO $DTSWR
4863 110262 000457 $DTSWR
4864 110264 157240 SWS10
4865 110266 103336 BCC C10X ;BRANCH IF WINNING
4866
4867 C10SWE: PMSG <?10 SW>
4868 110270 104025 $PMSG
4869 110272 145711 $$CLIT
4870 110274 000137 100004 $$C1: JMP $CNTLC
4871
4872 110300 012705 157240 $SW: MOV #SWS10,R5
4873 110304 104016 TTISDL
4874 110306 103407 BCS 1$ ;NON-NUMBER, TYPE PRESENT
4875 110310 104020 TTIS36
4876 110312 012025 MOV (R0)+,(R5)+ ;PUT IN SWITCH WORD
4877 110314 011015 MOV (R0),(R5)
4878 110316 104145 2$: TENSW ;DO PDP-10 SWITCHES
4879 110320 103763 BCS C10SWE ;ERROR
4880 110322 000137 100230 3$: JMP $KONSL
4881
4882 110326 104145 1$: TENSW ;FIRST READ AND STORE CURRENT SWITCHES
4883 110330 103757 BCS C10SWE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 138
CONS11 PAL[KL,SYS] Page 44.1 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
4884 110332 104043 PFORCE
4885 110334 010500 MOV R5,R0 ;PRINT CURRENT SWITCHES
4886 110336 104042 PNT36
4887 110340 104031 PCRLF
4888 110342 000767 BR 3$
4889
4890 110344 104055 C10DDT: SETFLG
4891 110346 147740 DDTFLG ;SET FOR DDT MODE INPUT
4892 110350 104043 PFORCE ;SET FORCED PRINTOUT
4893 110352 022737 150254 150474 CMP #$OUTBF,$OUTPT ;ANY OUTPUT WAITING ?
4894 110360 001403 BEQ 2$ ;NO
4895 110362 104055 SETFLG
4896 110364 147764 $TTLKF ;PREVENT INPUT CHECKS
4897 110366 104151 PRINTT ;YES, PRINT IT
4898 110370 104006 2$: TTLOOK ;GET INPUT CHAR
4899 110372 103400 BCS 3$ ;NOTHING THERE, SEND ZERO
4900 110374 120027 000030 3$: CMPB R0,#MSWCHR ;SWITCH TO KLDCP?
4901 110400 001226 BNE C10TIX ;NO.
4902 110402 000137 107212 JMP MTTYI0 ;YES. READ A LINE FOR KLDCP
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 139
CONS11 PAL[KL,SYS] Page 45 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
4903 ;C10PRG C10PT C10P2 C10P1 C10X1 C10P3 C10P4 C10P5 C10KAS KASET
4904
4905 110406 010501 C10PRG: MOV R5,R1 ;GET CONTROL FIELD
4906 110410 042701 177760 BIC #177760,R1
4907 SL R1,1
4908 110416 000171 110422 JMP @C10PT(R1) ;DISPATCH
4909
4910 110422 107710 C10PT: TENDEAD ;HALT
4911 110424 110466 C10P1 ;FATAL
4912 110426 110462 C10P2 ;ERROR HALT
4913 110430 110476 C10P3 ;END OF PROGRAM
4914 110432 110504 C10P4 ;END OF PASS
4915 110434 110510 C10P5 ;GIVE PDP-10 CLOCK DEFAULT WORD
4916 110436 112156 DIASEL ;"DIAMON" FILE SELECTION
4917 110440 112242 DIARD ;"DIAMON" FILE READ
4918 110442 112144 P10CMD ;PDP-10 PROGRAM COMMAND
4919 110444 110530 C10KAS ;TURN ON KA SIMULATION
4920 110446 107552 C10DNX
4921 110450 107552 C10DNX
4922 110452 107552 C10DNX
4923 110454 107552 C10DNX
4924 110456 107552 C10DNX
4925 110460 107552 C10DNX
4926
4927 110462 105037 147670 C10P2: CLRB TENRUN
4928 110466 005037 152216 C10P1: CLR TENCLK
4929 110472 000137 107526 C10X1: JMP C10DON
4930
4931 110476 105037 147670 C10P3: CLRB TENRUN ;TURN OFF TEN RUNNING
4932 110502 104062 ERREOP ;END OF PROGRAM
4933
4934 110504 104061 C10P4: EOP
4935 110506 000626 BR C10X
4936
4937 C10P5:
4938 110510 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
4939 110516 104110 DPOSVT
4940 110520 000450 $DTF11
4941 110522 157246 CLKDFL
4942 110524 103453 BCS C10BCR
4943 110526 000442 BR C10CX
4944
4945 110530 004737 110540 C10KAS: JSR PC,KASET ;SET KASIM MODE
4946 110534 000137 107526 JMP C10DON
4947
4948 110540 005737 147660 KASET: TST KASIM
4949 110544 001012 BNE 1$ ;KASIM ALREADY ENABLED
4950 110546 104055 SETFLG
4951 110550 147660 KASIM
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 140
CONS11 PAL[KL,SYS] Page 45.1 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
4952 110552 104055 SETFLG
4953 110554 147422 SWTDEP ;ENABLE AUTO SWITCH DEPOSIT
4954 110556 104055 SETFLG
4955 110560 147666 MONMODE ;TURN ON MONMODE FOR TTY I/O
4956 110562 104055 SETFLG
4957 110564 147664 MTTYOF ;SET TTY OUTPUT DONE FLAG
4958 110566 104055 SETFLG
4959 110570 152216 TENCLK ;ENABLE CLOCK INTERRUPTS AND SETTING DTCLK
4960 110572 000207 1$: RTS PC
4961
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 141
CONS11 PAL[KL,SYS] Page 46 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
4962 ;Clock operations. C10CLK
4963
4964 110574 010501 C10CLK: MOV R5,R1
4965 000007 .IIF EQ SAILVR, BIC #177774,R1
4966 110576 042701 177770 .IIF GT SAILVR, BIC #177770,R1 ;3 BITS FOR SAIL
4967 SL R1,1
4968 110604 000171 110610 JMP @C10CPT(R1)
4969
4970 110610 110630 C10CPT: C10C0 ;DISABLE CLOCK COUNT
4971 110612 110660 C10C1 ;RESET CLOCK COUNT. ENABLE CLOCK COUNT
4972 110614 110714 C10C2 ;RESET CLOCK. ENABLE CLOCK INT AFTER PERIOD
4973 110616 110640 C10C3 ;READ CLOCK COUNT TO 10.
4974 000007 .IF GT SAILVR
4975 110620 111154 C10C4 ;SET TIME BASE FROM 10. ENABLE KEEPING TIME
4976 110622 111342 C10C5 ;GIVE TIME BASE TO 10.
4977 .IF DF CLKASB
4978 110624 111550 C10C6 ;STORE AND ENABLE STORING TIME IN $DTTIME
4979 110626 111140 C10CER
4980 .IFF
4981 C10CER ;ERROR
4982 C10CER ;ERROR
4983 .ENDC ;CLKASB
4984 .ENDC ;SAILVR
4985
4986 110630 005037 152216 C10C0: CLR TENCLK
4987 110634 000137 107526 C10CX: JMP C10DON
4988
4989 C10C3:
4990 110640 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
4991 110646 104110 DPOSVT ;LOAD CLOCK COUNT INTO FROM 11 WORD
4992 110650 000450 $DTF11
4993 110652 147426 CLKCNT
4994 110654 103531 C10BCR: BCS C10CER ;ERROR
4995 110656 000766 BR C10CX
4996
4997 110660 104055 C10C1: SETFLG
4998 110662 152216 TENCLK
4999 .IF NDF SAILVR
5000 C10CX1: BIC #200,KWLKS
5001 1$: TSTB KWLKS ;WAIT FOR CLOCK
5002 BPL 1$ ;THEN CLEAR TO ALLOW FOR
5003 BIC #200,KWLKS ;16MS BEFORE 1ST CLOCK
5004 .IFF
5005 110664 005037 157160 C10CX1: CLR CLKFLG ;SAIL VERSION. WAIT FOR CLOCK FLAG TO CHANGE
5006 110670 005737 157160 1$: TST CLKFLG
5007 110674 001775 BEQ 1$ ;LOOP UNTIL INTERRUPT SEEN.
5008 .ENDC
5009
5010 110676 012700 147426 MOV #CLKCNT,R0 ;INIT CLOCK COUNTER
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 142
CONS11 PAL[KL,SYS] Page 46.1 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
5011 110702 005020 CLR (R0)+
5012 110704 005020 CLR (R0)+
5013 110706 005010 CLR (R0)
5014 110710 000137 107526 JMP C10DON
5015
5016
5017 C10C2:
5018 110714 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
5019 110722 104104 EXAMT ;GET WAIT COUNT FROM TO 11 WORD
5020 110724 000447 $DTT11
5021 110726 147434 C10CW
5022 110730 103503 BCS C10CER
5023 110732 012737 177400 152216 MOV #177400,TENCLK
5024 110740 000751 BR C10CX1
5025
5026 C10COP:
5027 .IF NDF SAILVR
5028 TSTB KWLKS ;CLOCK FLAG SET ?
5029 BPL 1$ ;NO, RETURN
5030 BIC #200,KWLKS ;CLEAR FLAG
5031 .IFF
5032 110742 005737 157160 TST CLKFLG
5033 110746 001473 BEQ 1$
5034 110750 005037 157160 CLR CLKFLG
5035 .ENDC
5036
5037 110754 005237 147662 INC $TTYTIM ;COUNT TTY TIMER
5038 110760 023737 177570 157230 CMP SWR,$$SWR ;PDP-11 CONSOLE SWITCHES CHANGED ?
5039 110766 001404 BEQ 3$ ;NO
5040 PUSH R0
5041 110772 104145 TENSW ;YES, DO PDP-10 SWITCHES
5042 110774 103461 BCS C10CER ;ERROR
5043 POP R0
5044 111000 105737 147670 3$: TSTB TENRUN ;IS 10 RUNNING ?
5045 111004 001454 BEQ 1$ ;NO
5046 .IF DF CLKASB
5047 111006 005737 157140 TST TMSFLG
5048 111012 001413 BEQ 4$ ;NOT TIME TO STORE TIME
5049 111014 005037 157140 CLR TMSFLG
5050 111020 004737 111600 JSR PC,RDCLK ;READ TIME/DATE INTO TIMTMP
5051 111024 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
5052 111032 104106 DPOST ;STORE IN EPT DTTIME
5053 111034 000446 $DTTIME
5054 111036 157152 TIMTMP
5055 111040 103437 BCS C10CER ;ERROR
5056 .ENDC ;DF CLKAB
5057 111042 005737 152216 4$: TST TENCLK
5058 111046 001433 BEQ 1$ ;CLOCK NOT ENABLED
5059 111050 062737 000001 147426 ADD #1,CLKCNT ;INCREMENT PDP-10 CLOCK COUNT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 143
CONS11 PAL[KL,SYS] Page 46.2 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
5060 111056 005537 147430 ADC CLKCNT+2
5061 111062 005537 147432 ADC CLKCNT+4
5062 111066 105737 152216 TSTB TENCLK ;DOING WAIT ?
5063 111072 001004 BNE 2$ ;NO
5064 111074 023737 147426 147434 CMP CLKCNT,C10CW ;WAITED LONG ENOUGH ?
5065 111102 001015 BNE 1$ ;NOT YET
5066 2$: PUSH <R0,R1>
5067 111110 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
5068 111116 104111 D10MON ;SET -1 TO 10 "$DTCLK"
5069 111120 000445 $DTCLK
5070 111122 103406 BCS C10CER
5071 111124 012777 000400 046222 MOV #INT10S,@.STDTE ;DING TEN
5072 POP <R1,R0>
5073 111136 000207 1$: RTS PC
5074
5075 111140 005037 152216 C10CER: CLR TENCLK
5076 PMSG <?10 CLKOP>
5077 111144 104025 $PMSG
5078 111146 145720 $$CLIT
5079 111150 000137 100004 JMP $CNTLC
5080
5081
5082 000007 .IFG SAILVR
5083 C10C4:
5084 111154 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
5085 111162 104104 EXAMT ;GET ADDRESS FROM TO 11 WORD
5086 111164 000447 $DTT11
5087 111166 157144 TIMADR
5088 111170 103763 BCS C10CER ;CAN'T READ ADDRESS
5089 111172 012700 157144 MOV #TIMADR,R0
5090 111176 042760 177774 000002 BIC #177774,2(R0) ;CLEAR ALL BUT BITS 18-19 (TIMADR+2)
5091 111204 012737 024000 147424 MOV #EXVIRT!PRTOFF,$TADSP ;ADDRESS GIVEN IS EXEC VIRTUAL
5092 111212 104103 EXAM ;EXAMINE 10. RESULT TO $DRAM
5093 111214 103751 BCS C10CER ;IF EXAMINE FAILED.
5094 111216 013700 147462 MOV $DRAM,R0 ;HIGH WORD BITS 20-35
5095 SL R0,3 ;SHIFT THREE PLACES
5096 111230 010037 157150 MOV R0,TIMADR+4 ;SAVE HIGH BITS FOR AWHILE
5097 111234 012700 157144 MOV #TIMADR,R0
5098 111240 062720 000001 ADD #1,(R0)+ ;INCREMENT PDP-10 ADDRESS
5099 111244 005510 ADC (R0) ;FOR FETCH OF LOW ORDER WORD
5100 111246 042710 177774 BIC #177774,(R0)
5101 111252 005740 TST -(R0)
5102 111254 012737 024000 147424 MOV #EXVIRT!PRTOFF,$TADSP ;ADDRESS GIVEN IS EXEC VIRTUAL
5103 111262 104103 EXAM
5104 111264 103725 BCS C10CER
5105 111266 012700 147466 MOV #$DRAM+4,R0
5106 111272 042710 177770 BIC #177770,(R0) ;CLEAR ALL BUT LOW WORD'S BITS 1-3
5107 111276 053710 157150 BIS TIMADR+4,(R0) ;INCLUDE BITS 23-35 OF HIGH WORD
5108 111302 012701 157170 MOV #TIMBAS+4,R1
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 144
CONS11 PAL[KL,SYS] Page 46.3 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
5109 PUSH PS
5110 111312 012737 000340 177776 MOV #PR7,PS ;TURN OFF INTERRUPTS
5111 111320 011011 MOV (R0),(R1)
5112 111322 014041 MOV -(R0),-(R1)
5113 111324 014041 MOV -(R0),-(R1)
5114 POP PS
5115 111332 104055 SETFLG
5116 111334 157162 KTIMBS ;KEEP TIME BASE
5117 111336 000137 107526 C10XXX: JMP C10DON
5118
5119
5120 111342 012701 157152 C10C5: MOV #TIMTMP,R1
5121 111346 012700 157164 MOV #TIMBAS,R0
5122 PUSH PS
5123 111356 012737 000340 177776 MOV #PR7,PS ;TURN OFF INTERRUPTS
5124 111364 012021 MOV (R0)+,(R1)+ ;COPY TIMTMP←TIMBAS
5125 111366 012021 MOV (R0)+,(R1)+
5126 111370 011011 MOV (R0),(R1)
5127 POP PS
5128 111376 005737 157162 TST KTIMBS ;ARE WE COUNTING TIMEBASE?
5129 111402 001003 BNE 1$ ;JUMP IF YES
5130 111404 005011 CLR (R1) ;NO. TIMEBASE NOT KEPT OR INVALID
5131 111406 005041 CLR -(R1) ;RETURN ZERO.
5132 111410 005041 CLR -(R1)
5133 1$:
5134 111412 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
5135 111420 104104 EXAMT ;GET DEP ADDRESS FROM TO 11 WORD
5136 111422 000447 $DTT11
5137 111424 157144 TIMADR
5138 111426 103644 BCS C10CER ;CAN'T READ ADDRESS
5139 111430 012701 157144 MOV #TIMADR,R1
5140 111434 042761 177774 000002 BIC #177774,2(R1) ;CLEAR ALL BUT BITS 18-19 (TIMADR+2)
5141 111442 013702 157156 MOV TIMTMP+4,R2 ;GET HIGH ORDER TIME BASE
5142 SR R2,3 ;SHIFT TO ALIGN BITS 23-35
5143 111454 012700 147466 MOV #$DRAM+4,R0
5144 111460 005010 CLR (R0)
5145 111462 005040 CLR -(R0)
5146 111464 010240 MOV R2,-(R0) ;$DRAM+0←BITS 23-35 OF HIGH WORD
5147 111466 012737 024000 147424 MOV #EXVIRT!PRTOFF,$TADSP ;ADDRESS GIVEN IS EXEC VIRTUAL
5148 111474 104107 DPOSVR ;SEND HIGH WORD
5149 111476 103620 BCS C10CER
5150 111500 012701 157144 MOV #TIMADR,R1 ;INCREMENT ADDRESS TO LOW WORD
5151 111504 062721 000001 ADD #1,(R1)+
5152 111510 005511 ADC (R1)
5153 111512 042711 177774 BIC #177774,(R1)
5154 111516 005741 TST -(R1)
5155 111520 042737 177770 157156 BIC #177770,TIMTMP+4 ;CLEAR ALL BUT BITS 1-3
5156 111526 012700 157152 MOV #TIMTMP,R0
5157 111532 012737 024000 147424 MOV #EXVIRT!PRTOFF,$TADSP ;ADDRESS GIVEN IS EXEC VIRTUAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 145
CONS11 PAL[KL,SYS] Page 46.4 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
5158 111540 104107 DPOSVR
5159 111542 103275 BCC C10XXX
5160 111544 000137 111140 C10CR1: JMP C10CER
5161
5162 .IF DF CLKASB
5163 111550 104055 C10C6: SETFLG ;ENABLE STORING TIME/DATE
5164 111552 157142 TIMFLG
5165 111554 004737 111600 JSR PC,RDCLK ;READ CLOCK INTO TIMTMP
5166 111560 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
5167 111566 104110 DPOSVT
5168 111570 000446 $DTTIME
5169 111572 157152 TIMTMP
5170 111574 103763 BCS C10CR1 ;ERROR
5171 111576 000657 BR C10XXX
5172
5173 ;FORMAT OF DTTIME PDP10 WORD IS:
5174 ;BYTE (5)DAY (2)0 (5)HOUR (2)0 (6)MINUTE (4)MONTH,YEAR (2)0 (6)SECOND
5175
5176 RDCLK: PUSH R0
5177 PUSH R1
5178 PUSH R2
5179 PUSH R3
5180 111610 105777 766236 2$: TSTB @$CLKST
5181 111614 100375 BPL 2$ ;MAKE SURE CLOCK IS READY
5182 111616 017700 766222 MOV @$CLKMD,R0
5183 111622 017701 766220 MOV @$CLKHM,R1
5184 111626 017702 766216 MOV @$CLKSEC,R2
5185 111632 027700 766206 CMP @$CLKMD,R0
5186 111636 001364 BNE 2$
5187 111640 027701 766202 CMP @$CLKHM,R1
5188 111644 001361 BNE 2$
5189 111646 027702 766176 CMP @$CLKSEC,R2
5190 111652 001356 BNE 2$
5191 111654 032702 001400 BIT #1400,R2 ;TEST LOW TWO YEAR BITS
5192 111660 001407 BEQ 3$ ;BRANCH IF A LEAP YEAR
5193 111662 020027 001035 CMP R0,#2*400+29. ;IS IT FEB 29?
5194 111666 001004 BNE 3$ ;NO
5195 111670 012777 001501 766146 MOV #3*400+1+100,@$CLKMD ;YES, SET TO MAR 1
5196 111676 000744 BR 2$
5197 111700 010003 3$: MOV R0,R3
5198 SL R3,4
5199 111712 042703 007777 BIC #7777,R3 ;LEAVE TOP 4 BITS (MONTH)
5200 111716 050302 BIS R3,R2 ;MONTH/YEAR//SECONDS
5201 111720 006000 ROR R0
5202 111722 103002 BCC 1$
5203 111724 052701 100000 BIS #100000,R1 ;LOW BIT OF DAY
5204 111730 012703 157152 1$: MOV #TIMTMP,R3
5205 111734 010223 MOV R2,(R3)+
5206 111736 010123 MOV R1,(R3)+
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 146
CONS11 PAL[KL,SYS] Page 46.5 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
5207 111740 042700 177760 BIC #177760,R0 ;JUST KEEP LOW 4 BITS
5208 111744 010013 MOV R0,(R3)
5209 POP R3
5210 POP R2
5211 POP R1
5212 POP R0
5213 111756 000207 RTS PC
5214
5215 111760 000002 TCUINT: RTI ;INT FROM SETTING CLOCK
5216
5217 .ENDC ;DF CLKASB
5218
5219 .ENDC ;SAILVR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 147
CONS11 PAL[KL,SYS] Page 47 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
5220 ;PDP-10 SWITCH REGISTER
5221
5222 111762 013737 177570 157230 $TENSW: MOV SWR,$$SWR ;GET PDP-11 SWITCHES
5223 111770 013737 157230 157234 MOV $$SWR,$SWS10+2
5224
5225 111776 012701 157232 MOV #$SWS10,R1 ;POSITION FOR 0 TO 15 OF
5226 112002 012703 000004 MOV #4,R3 ;PDP-10 SWITCH REGISTER
5227 112006 104146 PROL36
5228
5229 112010 012704 157234 MOV #$SWS10+2,R4 ;Bits 4:15 + xxxx of new stuff
5230 112014 012705 157242 MOV #SWS10+2,R5 ;old switches.
5231
5232 112020 042714 000017 BIC #17,(R4) ;CLEAR 16-19 FROM NEW
5233 112024 042715 177760 BIC #177760,(R5) ;CLEAR 4-15 FROM OLD
5234
5235 112030 052425 BIS (R4)+,(R5)+ ;INSERT BITS 4-15
5236
5237 112032 042714 177760 BIC #177760,(R4) ;CLEAR HI JUNK FROM NEW
5238 112036 042715 000017 BIC #17,(R5) ;CLEAR 0-3 FROM OLD
5239
5240 112042 051415 BIS (R4),(R5) ;INSERT BITS 0-3
5241
5242 112044 105737 147670 TSTB TENRUN ;PDP-10 RUNNING ?
5243 112050 001412 BEQ 1$ ;NO
5244
5245 .IF DF SAILVR
5246 112052 005737 147422 TST SWTDEP ;DID PDP-10 ASK FOR SWITCHES?
5247 112056 001407 BEQ 1$ ;NO. WELL, DON'T STORE UNTIL ASKED
5248 .ENDC
5249
5250 112060 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
5251 112066 104110 DPOSVT ;DEPOSIT PDP-10 SWITCH REGISTER
5252 112070 000457 $DTSWR ;IN DTE20 COMM AREA
5253 112072 157240 SWS10
5254 112074 103402 BCS 2$ ;ERROR
5255 112076 $TCX=.
5256 1$: EXIT
5257 112076 000137 124064 JMP $EXIT
5258 2$: EXITERR ;RETURN
5259 112102 000137 124036 JMP $EXITE
5260
5261 ;PDP-10 LAST TYPED CHARACTER ROUTINE
5262
5263 112106 105737 147670 $TENCHR:TSTB TENRUN ;PDP-10 RUNNING ?
5264 112112 001771 BEQ $TCX ;NO
5265 112114 005737 150022 TST TENTTY ;TTY DEPOSIT ALLOWED ?
5266 112120 001766 BEQ $TCX ;NO
5267 PUSH R0
5268 112124 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 148
CONS11 PAL[KL,SYS] Page 47.1 PDP-10 RUN TIME SUPPORT ;TENCMD CMD10T C10DON
5269 112132 104106 DPOST ;YES, SEND LAST TYPED CHAR
5270 112134 000454 $DTCHR
5271 112136 150024 $TNCHR
5272 POP R0
5273 112142 000755 BR $TCX ;DON'T CARE IF FAILED
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 149
CONS11 PAL[KL,SYS] Page 48 PDP-10 PROGRAM COMMAND
5274 .SBTTL PDP-10 PROGRAM COMMAND
5275
5276 112144 012700 777777 P10CMD: MOV #-1,R0 ;USE OUTPUT BUFFER
5277 112150 104133 PRGCMD ;& PROGRAM COMMAND
5278 112152 103430 BCS DIANF ;C-BIT SET, ERROR
5279 112154 000424 BR DIAFND ;PASSED
5280
5281 .SBTTL "DIAMON" FILE SELECTION AND READ ROUTINES
5282
5283 112156 012701 150500 DIASEL: MOV #$INBUF,R1 ;PUT "P" & "SPACE" FIRST
5284 112162 012721 020120 MOV #"P ,(R1)+ ;IN CASE ACT10 LOAD
5285 112166 012700 150254 MOV #$OUTBF,R0 ;TRANSFER "DIAMON" FILE.EXT
5286 112172 010037 150474 MOV R0,$OUTPT ;TO INPUT BUFFER
5287 112176 004737 101612 JSR PC,$DIASX
5288 112202 012737 150502 150716 MOV #$INBUF+2,$INPTC ;SET PICKUP POINTER
5289
5290 112210 104206 NAMEXT ;SETUP FILE NAME.EXT
5291
5292 112212 104055 SETFLG
5293 112214 150734 LDCNTL ;SET LOAD CONTROL TO HELP
5294 112216 104055 SETFLG
5295 112220 151120 DIAFLG ;SET PROCESSING TO "DIAMON" MODE
5296
5297 112222 000137 133350 JMP DEVFIL ;GO LOOKUP & READ FIRST ASCII LINE
5298
5299 ;RETURN HERE WHEN FILE FOUND
5300 112226 005000 DIAFND: CLR R0 ;SET FOUND INDICATOR
5301 112230 000137 110056 $DIAFX: JMP C10TIX ;USE 10 TTY INPUT ROUTINE
5302
5303 ;RETURN HERE WHEN FILE NOT FOUND
5304 112234 012700 777777 DIANF: MOV #-1,R0 ;SET NOT FOUND INDICATOR
5305 112240 000773 BR $DIAFX
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 150
CONS11 PAL[KL,SYS] Page 49 "DIAMON" FILE SELECTION AND READ ROUTINES
5306 ;"DIAMON" FILE READ
5307
5308 112242 004737 122044 DIARD: JSR PC,$TI36C ;CLEAR 36 BIT WORD STORAGE
5309
5310 112246 023737 150716 150720 CMP $INPTC,$INPTR ;ANY CURRENT INPUT ?
5311 112254 003402 BLE DIARNL ;NO
5312 112256 000137 140312 1$: JMP ACTLD2 ;GO READ NEXT INPUT LINE
5313
5314 112262 DIARNL=. ;RETURN HERE WITH NEW LINE SETUP
5315 112262 012702 000005 2$: MOV #5,R2 ;5 ASCII CHARS PER 36 BIT WORD
5316
5317 112266 023737 150716 150720 3$: CMP $INPTC,$INPTR ;EOL ?
5318 112274 003014 BGT 4$ ;YES
5319 112276 117700 036414 MOVB @$INPTC,R0 ;GET FILE LINE CHAR
5320 112302 005237 150716 INC $INPTC
5321 112306 012701 000007 MOV #7,R1
5322 112312 004737 121766 JSR PC,SHFT36 ;SHIFT 36 BIT WORD LEFT 7
5323 112316 150037 147462 BISB R0,$DRAM ;INSERT NEW ASCII BYTE
5324 112322 005302 DEC R2 ;DONE 5 CHARS ?
5325 112324 003360 BGT 3$ ;NOT YET
5326
5327 112326 005001 4$: CLR R1 ;LEFT JUSTIFY FOR PDP-10 ASCII
5328 112330 004737 121766 JSR PC,SHFT36
5329
5330 112334 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
5331 112342 104110 DPOSVT ;LOAD INTO FROM 11 WORD
5332 112344 000450 $DTF11
5333 112346 147462 $DRAM
5334 112350 103012 BCC 6$ ;OK
5335
5336 5$: PMSG <?DIAMON XFER>
5337 112352 104025 $PMSG
5338 112354 145732 $$CLIT
5339 112356 000137 100004 JMP $CNTLC
5340
5341 112362 DIAEOF=. ;DIAMON READ END-OF-FILE
5342 112362 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ;SET ADDR MODE FOR NEXT EXDEP
5343 112370 104111 D10MON ;SET FROM 11 WORD -1
5344 112372 000450 $DTF11
5345 112374 103766 BCS 5$ ;ERROR
5346
5347 112376 000137 107526 6$: JMP C10DON ;TELL 10 TO CONTINUE
5348
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 151
CONS11 PAL[KL,SYS] Page 50 PDP-11 CONSOLE FUNCTIONS
5349 .SBTTL PDP-11 CONSOLE FUNCTIONS
5350
5351 ;START PDP11 AT ADDRESS GIVEN
5352
5353 112402 104016 .SE: TTISDL
5354 112404 103405 BCS 2$ ;NON-NUMBER
5355
5356 112406 104200 1$: TTOCTE ;READ AN OCTAL ADDRESS
5357
5358 112410 010037 157200 4$: MOV R0,SEADR ;GO TO ADDRESS IN R0
5359 112414 000137 113250 JMP SRT11
5360
5361 112420 122700 000104 2$: CMPB #'D,R0 ;"D", START DIAGNOSTIC
5362 112424 001406 BEQ 3$
5363 112426 122700 000103 CMPB #'C,R0 ;"C", START CONSOLE
5364 112432 001145 BNE $$CMDE
5365 112434 012700 100000 MOV #PRGSRT,R0
5366 112440 000763 BR 4$
5367 112442 012700 003000 3$: MOV #3000,R0
5368 112446 000760 BR 4$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 152
CONS11 PAL[KL,SYS] Page 51 PDP-11 CONSOLE FUNCTIONS
5369 ;EXAMINE ELEVEN AT ADDRESS GIVEN
5370
5371 112450 012705 000001 .EE: MOV #1,R5
5372 112454 000401 BR .EEB
5373
5374 112456 005005 .EB: CLR R5
5375
5376 112460 012702 147726 .EEB: MOV #.EADR,R2
5377 112464 005003 CLR R3
5378 112466 104016 TTISDL
5379 112470 103445 BCS 6$ ;NON-NUMBER
5380
5381 112472 104010 TTCOCT ;READ AN OCTAL ADDRESS
5382
5383 112474 010001 MOV R0,R1
5384 112476 010012 MOV R0,(R2) ;SAVE ADR FOR DEPOSIT
5385
5386 112500 104015 TTIBRK ;GET BREAK CHAR
5387 112502 103517 BCS $$PARA
5388 112504 122700 000054 CMPB #COMMA,R0
5389 112510 001004 BNE 2$
5390 112512 005203 INC R3 ;SET MULTIPLE PRINT FLAG
5391 112514 104044 PNORML
5392 112516 104010 TTCOCT ;GET LAST ADDRESS
5393 112520 010004 MOV R0,R4 ;SAVE END ADR
5394
5395 112522 040501 2$: BIC R5,R1 ;IF WORD, MAKE EVEN
5396 112524 010100 21$: MOV R1,R0
5397 112526 010112 MOV R1,(R2) ;SAVE ADDRESS
5398 112530 104035 PNTOCT ;PRINT ADDRESS
5399 112532 104033 PSLASH
5400
5401 112534 005705 1$: TST R5 ;BYTE ?
5402 112536 001403 BEQ 3$ ;YES
5403
5404 112540 011100 MOV (R1),R0
5405 112542 104035 PNTOCT ;PRINT CONTENTS OF ADDRESS
5406 112544 000404 BR 4$
5407
5408 112546 111100 3$: MOVB (R1),R0
5409 112550 042700 177400 BIC #177400,R0
5410 112554 104036 PNTOCS ;PRINT BYTE CONTENTS
5411 112556 005703 4$: TST R3
5412 112560 001406 BEQ 5$
5413 112562 104031 PCRLF
5414 112564 020104 CMP R1,R4
5415 112566 103003 BHIS 5$
5416 112570 005201 INC R1 ;INCREMENT ADDRESS
5417 112572 060501 ADD R5,R1 ;IF WORD, INC BY 2
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 153
CONS11 PAL[KL,SYS] Page 51.1 PDP-11 CONSOLE FUNCTIONS
5418 112574 000752 BR 2$
5419
5420 112576 104031 5$: PCRLF
5421 112600 000137 100230 JMP $KONSL
5422
5423 112604 001407 6$: BEQ 7$ ;UPARROW
5424 112606 102002 BVC 61$ ;NONE
5425 112610 005212 INC (R2) ;EXAMINE NEXT 11 ADDRESS
5426 112612 060512 ADD R5,(R2)
5427 112614 011201 61$: MOV (R2),R1
5428 112616 005237 150716 INC $INPTC ;ADVANCE PAST TERMINATOR
5429 112622 000737 BR 2$
5430
5431 112624 005312 7$: DEC (R2)
5432 112626 160512 SUB R5,(R2)
5433 112630 000771 BR 61$
5434
5435 ;ZERO ELEVEN
5436
5437 112632 104200 .ZE: TTOCTE ;GET START ADDRESS
5438 112634 010005 MOV R0,R5
5439
5440 112636 104010 TTCOCT ;GET END ADDRESS
5441
5442 112640 005025 1$: CLR (R5)+ ;ZERO 11
5443 112642 020500 CMP R5,R0 ;COMPLETED ?
5444 112644 101775 BLOS 1$ ;NO
5445 112646 000137 100014 JMP $CONSL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 154
CONS11 PAL[KL,SYS] Page 52 PDP-11 CONSOLE FUNCTIONS
5446 ;DEPOSIT ELEVEN DATA
5447
5448 112652 012705 000001 .DE: MOV #1,R5 ;DEPOSIT 11 WORD
5449 112656 000401 BR .DEB
5450
5451 112660 005005 .DB: CLR R5 ;DEPOSIT 11 BYTE
5452
5453 112662 012702 147726 .DEB: MOV #.EADR,R2
5454 112666 104016 TTISDL
5455 112670 103421 BCS 5$ ;NON-NUMBER
5456
5457 112672 104010 TTCOCT ;READ OCTAL ADDRESS
5458
5459 112674 010001 1$: MOV R0,R1
5460 112676 005705 TST R5
5461 112700 001402 BEQ 2$
5462 112702 030500 BIT R5,R0
5463 112704 001016 BNE $$PARA ;WORD, ODD ADDRESSES ILLEGAL
5464
5465 112706 104016 2$: TTISDL
5466 112710 103416 BCS $$CMDE
5467 112712 104010 TTCOCT ;GET DATA
5468
5469 112714 010112 MOV R1,(R2)
5470
5471 112716 005705 TST R5 ;BYTE ?
5472 112720 001402 BEQ 3$
5473
5474 112722 010011 MOV R0,(R1) ;STOW IT
5475 112724 000401 BR 4$
5476
5477 112726 110011 3$: MOVB R0,(R1) ;STOW 11 BYTE
5478 112730 000137 100230 4$: JMP $KONSL
5479
5480 112734 102004 5$: BVC $$CMDE ;IF COLON, USE PREVIOUS EXAMINE ADDRESS
5481 112736 011200 MOV (R2),R0
5482 112740 000755 BR 1$
5483
5484 112742 000137 113356 $$PARA: JMP $PARA
5485 112746 000137 113364 $$CMDE: JMP $CMDE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 155
CONS11 PAL[KL,SYS] Page 53 KL10 MONITOR & ACT10 COMMAND ROUTINES
5486 .SBTTL KL10 MONITOR & ACT10 COMMAND ROUTINES
5487
5488 112752 104055 $VERIFY:SETFLG
5489 112754 147730 VERIFY
5490 112756 104044 PNORML
5491 112760 005037 150732 CLR LDOVRD ;CLEAR OVERRIDE
5492 112764 000430 BR $PROG1
5493
5494 112766 012737 000001 150732 $LDT: MOV #1,LDOVRD ;LOAD TEN, OVERRIDE EXT
5495 112774 000422 BR $PROG2
5496 112776 012737 000002 150732 $LDE: MOV #2,LDOVRD ;LOAD ELEVEN, OVERRIDE EXT
5497 113004 000416 BR $PROG2
5498 113006 012737 000003 150732 $LDR: MOV #3,LDOVRD ;LOAD RAM, OVERRIDE EXT
5499 113014 000412 BR $PROG2
5500 113016 012737 000006 150732 $LDB: MOV #6,LDOVRD ;LOAD ELEVEN BIN, OVERRIDE EXT
5501 113024 000406 BR $PROG2
5502 113026 012737 000007 150732 $LDD: MOV #7,LDOVRD ;LOAD DSKDMP BOOTSTRAP INTO KLDCP,OVERRIDE EXT (D10)
5503 113034 000402 BR $PROG2
5504
5505 113036 005037 150732 $PROG: CLR LDOVRD ;CLEAR OVERRIDE
5506 113042 005037 147730 $PROG2: CLR VERIFY
5507 113046 005037 150734 $PROG1: CLR LDCNTL ;CLEAR LOAD CONTROL FLAG
5508 113052 005037 150726 CLR SRTFLG ;CLEAR SELF START FLAG
5509 113056 105037 077777 CLRB CONSOL-1 ;OVERLAY INUSE INDICATOR
5510 113062 000430 BR $HELP1 ;GO LOAD PROGRAM
5511
5512 113064 104055 $JFILE: SETFLG
5513 113066 147620 JFILEF ;SET DOUBLE INDIRECT FLAG
5514 113070 005037 147614 CLR PRGRUN ;CLEAR PROGRAM RUNNING FLAG
5515 113074 012737 010000 147622 MOV #TOUTBF+5000,IFINP ;SETUP STORAGE POINTER
5516 113102 000403 BR $IIX
5517
5518 113104 012737 003000 147622 $IFILE: MOV #TOUTBF,IFINP ;SETUP STORAGE POINTER
5519 113112 005037 152214 $IIX: CLR PCMDFLG ;CLEAR PROGRAM COMMAND
5520 113116 104055 SETFLG
5521 113120 147624 IFILEF ;SET INDIRECT FILE FLAG
5522 113122 005077 034474 CLR @IFINP ;CLEAR 1ST BUFFER WORD
5523 113126 105037 077777 CLRB CONSOL-1 ;OVERLAY INUSE INDICATOR
5524
5525 113132 005037 150732 $HELP: CLR LDOVRD ;CLEAR LOAD OVERRIDE FOR H,I,J
5526 113136 104055 SETFLG
5527 113140 150734 LDCNTL ;SET LOAD CONTROL TO "HELP"
5528 113142 104044 PNORML
5529 .IF DF MONASB
5530 TST DEVTYP
5531 BPL $HELP1
5532 JMP ACTFIL ;ACT10 HELP
5533 .ENDC
5534 113144 000137 130314 $HELP1: JMP DVLOAD ;RP04/DECTAPE/FLOPPY HELP
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 156
CONS11 PAL[KL,SYS] Page 54 KL10 MONITOR & ACT10 COMMAND ROUTINES
5535 .IF DF MONASB
5536 $AT: TTITRM
5537 SETFLG
5538 DEVTYP ;SET ACT10 MODE
5539 COMCLR ;CLEAR COMMUNICATIONS
5540 BR $DTX
5541 .ENDC
5542
5543 113150 005037 157306 $DT: CLR FLOPPY
5544 113154 104016 TTISDL
5545 113156 103413 BCS $DTC ;LETTER
5546 113160 104017 TTISDO ;GET UNIT SELECTION DIGIT
5547 113162 020027 000007 CMP R0,#7 ;MUST BE 0 TO 7
5548 113166 003076 BGT $CMDE
5549 113170 000300 SWAB R0 ;PUT IN PROPER PLACE FOR TC11
5550 113172 010037 157276 MOV R0,DTUNIT ;SAVE IT
5551 113176 005037 157310 $RXX: CLR DEVTYP ;SET DECTAPE MODE
5552 113202 000137 100230 $DTX: JMP $KONSL
5553
5554 .IF DF RXASB
5555 $RX: SETFLG
5556 FLOPPY
5557 TTISDL
5558 BCS $DTC ;LETTER
5559 TTISDO ;GET SELECTION DIGIT
5560 CMP R0,#1 ;MUST BE EITHER 0 OR 1
5561 BGT $CMDE
5562 BNE 1$
5563 MOV #RXU1,R0
5564 1$: MOV R0,RXUNIT ;SAVE FOR RX11/RX01 FLOPPY
5565 BR $RXX
5566 .ENDC ;IF DF RXASB
5567
5568 $DTC:
5569 .IF DF UTLASB
5570 CMP #"CO,$INBUF+2 ;IS COMMAND 'DTCOPY'/'RXCOPY' ?
5571 BNE 1$
5572 CMP #"PY,$INBUF+4
5573 BNE 1$
5574 JSR PC,$KLUCK ;UTILITY IN CORE ?
5575 TST FLOPPY
5576 BEQ 2$
5577 JMP @RXCOPY ;FLOPPY COPY
5578 2$: JMP @DTCOPY ;YES
5579 .ENDC
5580 113206 000137 100574 1$: JMP $CMDER
5581
5582 113212 005237 150716 $GO: INC $INPTC
5583 113216 013700 157202 $$GO: MOV PGOCTL,R0 ;GO, START PROGRAM
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 157
CONS11 PAL[KL,SYS] Page 54.1 KL10 MONITOR & ACT10 COMMAND ROUTINES
5584 113222 000170 113226 JMP @LDSTRT(R0)
5585
5586 113226 113242 LDSTRT: SRT11X
5587 113230 113324 SRT10
5588
5589 113232 104022 $JC: TTITRM
5590 113234 104055 SETFLG ;SET J FILE FLAG TO CONTINUE
5591 113236 147620 JFILEF ;INTERRUPTED J FILE PROCESS
5592 113240 000760 BR $DTX
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 158
CONS11 PAL[KL,SYS] Page 55 KL10 MONITOR & ACT10 COMMAND ROUTINES
5593 113242 013737 157204 157200 SRT11X: MOV PGOADR,SEADR
5594 113250 005737 157200 SRT11: TST SEADR
5595 113254 001417 BEQ 1$ ;IF ADR 0, START AT 3000
5596 113256 032737 000001 157200 BIT #1,SEADR
5597 113264 001031 BNE ADRERR ;ODD ADDRESSES NOT ALLOWED
5598
5599 113266 004737 115156 2$: JSR PC,$CMCLR ;CLEAR COMMON STORAGE
5600
5601 113272 005037 147624 CLR IFILEF ;END INDIRECT PROCESS
5602 113276 104055 SETFLG
5603 113300 147614 PRGRUN
5604 113302 012700 157774 MOV #STACK-2,R0 ;PASS STACK BASE ADR IN R0
5605 113306 010006 MOV R0,SP ;RESET STACK
5606 113310 000177 043664 JMP @SEADR ;START 11 PROGRAM AT LOAD ADDRESS
5607
5608 113314 012737 003000 157200 1$: MOV #3000,SEADR
5609 113322 000761 BR 2$
5610
5611 113324 012700 157212 SRT10: MOV #TGOADR+2,R0
5612 113330 012701 157206 MOV #PGOADR+2,R1 ;PUT LOAD ADR IN 10 GO ADR
5613 113334 011110 MOV (R1),(R0)
5614 113336 014140 MOV -(R1),-(R0)
5615 113340 000137 106204 JMP $$$ST ;GO TO 10 START ROUTINE
5616
5617 .LIF NDF MONASB
5618 113344 000137 100014 $COMNT: JMP $CONSL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 159
CONS11 PAL[KL,SYS] Page 56 KL10 MONITOR & ACT10 COMMAND ROUTINES
5619 .IF DF MONASB
5620
5621 ;ACT10 TIME REQUEST
5622
5623 $TIME: TTBTRM
5624 TST DEVTYP
5625 BPL $TIME1 ;ONLY LEGAL IN ACT10 MODE
5626
5627 COMENQ ;REQUEST APT10 SERVICE
5628
5629 MOV #$INBUF,R0
5630 COMCMD ;SEND COMMAND
5631
5632 $PMSG ;PRINT INPUT LINE
5633 CINBF
5634 COMCLR
5635 $TIME3: JMP $CONSL
5636
5637 $TIME1: JMP NONACT ;NON ACT10
5638
5639 $LOGO:
5640 $LOGIN: TST DEVTYP ;ONLY LEGAL IN ACT10 MODE
5641 BPL $TIME1
5642 TTITRM
5643
5644 COMENQ ;REQUEST SERVICE
5645
5646 MOV #$INBUF,R0
5647 COMCMD ;SEND COMMAND
5648 COMEOT
5649 BR $TIME3
5650
5651 $COMNT: TST DEVTYP ;ACT10 MODE ?
5652 BPL 1$ ;NO, LOCAL ONLY
5653
5654 COMENQ ;REQUEST APT10 SERVICE
5655
5656 MOV #$INBUF,R0
5657 COMCMD ;SEND MESSAGE
5658 COMEOT
5659
5660 1$: BR $TIME3 ;BACK TO CONSOLE
5661
5662 $BOOT:
5663 $SCRPT:
5664 $MSCP:
5665 $GSCP:
5666 $BOOTT: JMP $CMDER
5667
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 160
CONS11 PAL[KL,SYS] Page 56.1 KL10 MONITOR & ACT10 COMMAND ROUTINES
5668 .ENDC ;END .IF DF MONASB
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 161
CONS11 PAL[KL,SYS] Page 57 KL10 MONITOR & ACT10 COMMAND ROUTINES
5669 ADRERR: PMSG <?ADR>
5670 113350 104025 $PMSG
5671 113352 145747 $$CLIT
5672 113354 000405 BR COMNER
5673
5674 $PARA: PMSG <?PARAM>
5675 113356 104025 $PMSG
5676 113360 145754 $$CLIT
5677 113362 000402 BR COMNER
5678
5679 113364 000137 100574 $CMDE: JMP $CMDER
5680
5681 .IF DF MONASB
5682 NONACT: PMSG <?ACT10>
5683 BR COMNER
5684
5685 NORESP: PMSG <?RESPONSE>
5686 .ENDC
5687
5688 113370 000137 100004 COMNER: JMP $CNTLC
5689
5690 ;REINITIALIZE SYSTEM
5691
5692 113374 005037 157316 .RI: CLR $ONETM
5693 113400 000137 100000 JMP START
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 162
CONS11 PAL[KL,SYS] Page 58 LINE PRINTER SELECTION ROUTINE
5694 .SBTTL LINE PRINTER SELECTION ROUTINE
5695
5696 .IF DF LPASB
5697
5698 $LPT: PMSG <LP, Y OR N ? - ←>
5699 TTILIN
5700 TTIYES
5701 BCS $LPT ;JUNK
5702 BMI 10$ ;NO
5703 MOV #NOLP,ERRVEC ;DO WE HAVE A LINE PRINTER CONTROLLER ?
5704 MOV $LPS,R0
5705 TST (R0)
5706 TST R0
5707 BNE 1$ ;LP11
5708 MOV #LP20A,R0
5709 TST (R0)
5710 TST R0
5711 BNE 2$ ;LP20A
5712 MOV #LP20B,R0
5713 TST (R0)
5714 TST R0
5715 BNE 2$ ;LP20B
5716 MOV #$TIMOT,ERRVEC
5717 PMSG <?NO LPT>
5718 JMP $CNTLC
5719 1$: CLR LPTYPE ;LP11 - TYPE = 0
5720 BR 3$
5721 2$: MOV R0,LPTYPE ;LP20 - TYPE = CONTROLLER BASE ADDRESS
5722 3$: MOV #$TIMOT,ERRVEC
5723 SETFLG
5724 LPTFLG
5725 TST LPTYPE
5726 BNE 5$
5727 TST @$LPS ;LP11 - LPT OK ?
5728 BMI 20$ ;NO
5729 4$: JMP $CONSL
5730
5731 5$: JSR PC,LP20INI ;INITIALIZE LP20
5732 BCS 20$ ;ERROR
5733 BR 4$
5734 10$: CLR LPTFLG ;TURN OFF LINE PRINTER
5735 BR 4$
5736 20$: PMSG <?LP ERR\>
5737 BR $LPT
5738
5739 NOLP: CLR R0 ;NO LP CONTROLLER BUS TRAP
5740 RTI
5741
5742 .SBTTL LP20 INITIALIZATION ROUTINE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 163
CONS11 PAL[KL,SYS] Page 58.1 LINE PRINTER SELECTION ROUTINE
5743
5744 LP20INI:MOV LPTYPE,R5 ;SETUP BASE ADDRESS
5745 MOV #LPLINI!LPRERR,(R5) ;CLEAR LP20
5746 MOV #VFUDAT,R0 ;SETUP VFU BUFFER
5747 MOV R0,LPBSAD(R5) ;SETUP BUFFER ADDRESS
5748 MOV #037756,(R0)+ ;VFU LOAD CODE & ALL CHANS
5749 MOV #77,(R0)+
5750 MOV #100,R1 ;SET FOR 64 LINES ON PAGE
5751 1$: CLR (R0)+
5752 DEC R1
5753 BNE 1$
5754 MOV #167400,(R0) ;VFU STOP LOAD CODE
5755 MOV #-206,LPBCTR(R5) ;206 BYTE XFER
5756 MOV #LPVLOD!LPPENB!LPGO,(R5) ;VFU LOAD & GO
5757 JSR PC,LP20DN ;WAIT FOR DONE
5758 BCS 3$ ;ERROR
5759
5760 CLR LPCBUF(R5) ;CLEAR LP20 RAM
5761 MOV #LPLINI!LPRERR,(R5)
5762 MOV #-1000,R0 ;LOCATION COUNT
5763 MOVB #LPPENB,(R5) ;PARENB & NOT GO
5764 2$: CLR LPRAMD(R5) ;CLEAR
5765 INC LPCBUF(R5) ;INCREMENT ADDRESS
5766 INC R0 ;COUNT IT
5767 BNE 2$ ;IF NOT DONE, GO BACK
5768 CLC ;COMPLETED, C-BIT CLEAR RETURN
5769 RTS PC
5770
5771 3$: SEC ;ERROR, C-BIT SET RETURN
5772 RTS PC
5773
5774 .ENDC ;IF DF LPASB
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 164
CONS11 PAL[KL,SYS] Page 59 CONSOLE TELETYPE FUNCTIONS
5775 .SBTTL CONSOLE TELETYPE FUNCTIONS
5776
5777 113404 012705 147776 $TP: MOV #$TPLIN,R5 ;SET TTY PAGE LENGTH
5778 113410 000402 BR $TPW
5779
5780 113412 012705 150000 $TW: MOV #$PGWID,R5 ;SET TTY PAGE WIDTH
5781
5782 113416 104016 $TPW: TTISDL
5783 113420 103414 BCS $PARAM
5784
5785 113422 104011 TTIDEC ;SPECIFIED IN DECIMAL
5786 113424 103412 BCS $DECN ;WASNT A DECIMAL NUMBER
5787
5788 113426 010015 MOV R0,(R5) ;SET IT UP
5789
5790 113430 000137 100014 $TPWF: JMP $CONSL ;RETURN TO CONSOLE FOR NEXT COMMAND
5791
5792 ;TTY FILL CHARACTER PARAMETER
5793
5794 113434 104017 $TF: TTISDO
5795
5796 113436 020027 000005 CMP R0,#5 ;CHECK FILL PARAMETER UPPER LIMIT
5797 113442 003003 BGT $FILPL
5798
5799 113444 010037 147756 MOV R0,$TTYFL ;SET TTY FILL PARAMETER
5800
5801 113450 000767 BR $TPWF
5802
5803 ;MESSAGES TO OPERATOR
5804
5805 $DECN:
5806 $FILPL:
5807 $OCTN:
5808 113452 000137 113356 $PARAM: JMP $PARA
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 165
CONS11 PAL[KL,SYS] Page 60 KLINIK FIELD SERVICE REMOTE DIAGNOSTICS ENABLE
5809 .SBTTL KLINIK FIELD SERVICE REMOTE DIAGNOSTICS ENABLE
5810
5811 .IF NDF TELASB
5812
5813 .KLINIK:CMP #"IN,$INBUF+2
5814 BNE 2$
5815 CMP #"IK,$INBUF+4
5816 BNE 2$
5817
5818 TST DL11EFLG ;PRESENTLY ENABLED ?
5819 BEQ 1$ ;NO
5820
5821 KLUNK=.
5822 CLR DL11EFLG ;YES, CLEAR IT
5823 PMSG <KLINIK CLEARED>
5824 JMP $CNTLC
5825
5826 1$: CLR @$FSTKS ;INITIALIZE
5827 BIS #DLDTR!DLRTS,@$FSTKS ;SET DATA TERMINAL READY
5828 BIT #DLCTS,@$FSTKS ;DO WE HAVE CLEAR TO SEND ?
5829 BEQ FSDISC ;NO
5830 COM DL11EFLG ;ENABLE KLINIK
5831 PMSG <KLINIK ENABLED>
5832 JMP $CNTLC
5833
5834 2$: JMP $CMDER
5835
5836 ;DL11E DISCONNECT, CLEAR TO SEND NOT SET
5837
5838 FSDISC: CLR DL11EFLG
5839 PMSG <\DL11E NOT CLR TO SEND, >
5840 BR KLUNK
5841
5842 .ENDC ;IF NDF TELASB
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 166
CONS11 PAL[KL,SYS] Page 61 FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU
5843 .SBTTL FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU
5844
5845 .IF DF TELASB
5846
5847 000012 FSRLEN==10. ;10 CHARACTER FSRBUF
5848
5849 ;TRAP HERE WHEN DATASET INTERRUPT OCCURS
5850 FSRINT: PUSH R0
5851 PUSH R1
5852 113462 017700 764342 MOV @$FSTKS,R0 ;GET THE STATUS
5853 113466 013701 152260 MOV FSSTATE,R1
5854 113472 001401 BEQ FSINT1 ;FIRST INTERRUPT
5855 113474 000111 JMP @R1
5856
5857 113476 032700 040000 FSINT1: BIT #DLRI,R0 ;TEST FOR RING INDICATION
5858 113502 001411 BEQ FSXIT ;NOPE
5859 113504 012737 113534 152260 MOV #FSINT2,FSSTATE ;SET DISPATCH FOR NEXT INT
5860 113512 012700 000074 MOV #60.,R0
5861 113516 012701 114040 MOV #HANGU1,R1
5862 113522 004737 114254 JSR PC,FSCLKR ;SET CLOCK REQUEST TO HANG UP IN ONE MINUTE
5863 FSXIT: POP R1
5864 POP R0
5865 113532 000006 RTT
5866
5867 113534 032700 010000 FSINT2: BIT #DLCD,R0 ;TEST CARRIER DETECT
5868 113540 001772 BEQ FSXIT ;NOPE
5869 113542 032700 020000 BIT #DLCTS,R0 ;TEST CLEAR TO SEND
5870 113546 001767 BEQ FSXIT ;NOPE
5871 113550 012737 113616 152260 MOV #FSINT3,FSSTATE ;OK, HAVE BOTH
5872 113556 012701 114424 MOV #FSMSG,R1
5873 113562 004737 114200 JSR PC,FSTYP ;TYPE OUT GREETING MESSAGE
5874 113566 012737 152242 152240 MOV #FSRBUF,FSRPTR
5875 113574 012737 113626 152260 MOV #FSINT4,FSSTATE
5876 113602 005777 764224 TST @$FSTKB ;CLEAR INPUT DONE BY REFERENCING BUFFER
5877 113606 052777 000100 764214 BIS #DLRIE,@$FSTKS ;SET READER INTERRUPT ENABLE
5878 113614 000744 BR FSXIT
5879
5880 113616 032700 020000 FSINT3: BIT #DLCTS,R0 ;MAKE SURE WE HAVE CLEAR TO SEND
5881 113622 001341 BNE FSXIT
5882 113624 000502 BR HANGUP
5883
5884 113626 032700 020000 FSINT4: BIT #DLCTS,R0
5885 113632 001477 BEQ HANGUP ;HANGUP IF CLEAR TO SEND IS GONE
5886 113634 032700 000200 BIT #DLRD,R0 ;TEST INPUT DONE
5887 113640 001732 BEQ FSXIT ;SPURIOUS
5888 113642 017701 764164 MOV @$FSTKB,R1 ;GET THE CHARACTER
5889 113646 042701 177600 BIC #177600,R1
5890 113652 020127 000015 CMP R1,#15
5891 113656 001426 BEQ FSIN4D
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 167
CONS11 PAL[KL,SYS] Page 61.1 FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU
5892 113660 020127 000012 CMP R1,#12
5893 113664 001423 BEQ FSIN4D
5894 113666 020127 000177 CMP R1,#177
5895 113672 001411 BEQ FSIN4R
5896 113674 023727 152240 152254 CMP FSRPTR,#FSRBUF+FSRLEN
5897 113702 103311 BHIS FSXIT ;NO MORE ROOM
5898 113704 110177 036330 MOVB R1,@FSRPTR ;STORE THE CHARACTER
5899 113710 005237 152240 INC FSRPTR
5900 113714 000704 FSXITA: BR FSXIT
5901
5902 113716 023727 152240 152242 FSIN4R: CMP FSRPTR,#FSRBUF
5903 113724 001773 BEQ FSXITA
5904 113726 005337 152240 DEC FSRPTR
5905 113732 000770 BR FSXITA
5906
5907 113734 042777 000100 764066 FSIN4D: BIC #DLRIE,@$FSTKS ;CLEAR RECEIVER INTERRUPT ENB
5908 113742 013700 152240 MOV FSRPTR,R0
5909 113746 162700 152242 SUB #FSRBUF,R0
5910 113752 020027 000004 CMP R0,#PWLEN
5911 113756 001021 BNE FSIN4W ;TYPED WRONG AMOUNT
5912 113760 012700 152242 MOV #FSRBUF,R0
5913 113764 012701 114474 MOV #PWORD,R1
5914 113770 122021 FSIN4E: CMPB (R0)+,(R1)+
5915 113772 001013 BNE FSIN4W ;WRONG
5916 113774 020037 152240 CMP R0,FSRPTR
5917 114000 103773 BLO FSIN4E ;MORE
5918 114002 012737 114120 152260 MOV #FSINT5,FSSTATE
5919 114010 005037 152234 CLR FSCLKA ;FLUSH THE AUTO DESTRUCT CLOCK REQUEST
5920 114014 005237 152236 INC FSFLG ;WIN
5921 114020 000735 BR FSXITA
5922
5923 114022 012701 114462 FSIN4W: MOV #FSLOSM,R1
5924 114026 004737 114200 JSR PC,FSTYP
5925 114032 004737 114040 HANGUP: JSR PC,HANGU1
5926 114036 000726 BR FSXITA
5927
5928 114040 012777 000004 763762 HANGU1: MOV #DLRTS,@$FSTKS ;HANG UP DATASET (KEEP REQUEST TO SEND AS FLAG)
5929 114046 005077 763762 CLR @$FSTPS ;FLUSH TYPEOUT
5930 114052 005037 152260 CLR FSSTATE
5931 114056 005037 152236 CLR FSFLG
5932 PUSH R0
5933 PUSH R1
5934 114066 012700 000002 MOV #2,R0
5935 114072 012701 114110 MOV #FSHNG1,R1
5936 114076 004737 114254 JSR PC,FSCLKR ;PLANT FS CLOCK REQUEST FOR 2 SECONDS FROM NOW
5937 POP R1
5938 POP R0
5939 114106 000207 RTS PC
5940
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 168
CONS11 PAL[KL,SYS] Page 61.2 FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU
5941 114110 012777 000046 763712 FSHNG1: MOV #DLDTR!DLRTS!DLDIE,@$FSTKS ;REENABLE DATASET
5942 114116 000207 RTS PC
5943
5944 114120 032700 020000 FSINT5: BIT #DLCTS,R0
5945 114124 001406 BEQ FSIN5A
5946 114126 032700 010000 BIT #DLCD,R0
5947 114132 001403 BEQ FSIN5A
5948 114134 005037 152234 CLR FSCLKA ;FLUSH DESTRUCT SEQUENCE
5949 114140 000665 BR FSXITA
5950
5951 114142 012700 000017 FSIN5A: MOV #15.,R0 ;START 15 SECOND TIMEOUT IF NO CLEAR TO SEND ...
5952 114146 012701 114040 MOV #HANGU1,R1 ; ... OR NO CARRIER DETECT
5953 114152 004737 114254 JSR PC,FSCLKR ;PLANT AUTO DESTRUCT CLOCK REQUEST
5954 114156 000656 BR FSXITA
5955
5956 FSTINT: PUSH R0
5957 PUSH R1
5958 114164 105777 763644 TSTB @$FSTPS ;TEST TRANSMITTER READY
5959 114170 001651 BEQ FSXITA ;SPURIOUS INT
5960 114172 013701 152256 MOV FSTPTR,R1
5961 114176 000407 BR FSTYP1
5962
5963 114200 005077 763630 FSTYP: CLR @$FSTPS ;CLEAR TRANSMITTER STATUS
5964 114204 052777 000100 763622 BIS #DLTIE,@$FSTPS ;SET TRANSMIT INTERRUPT ENABLE
5965 POP FSTYPR ;SAVE RETURN ADDRESS
5966 114216 112100 FSTYP1: MOVB (R1)+,R0 ;GET NEXT CHARACTER
5967 114220 001411 BEQ FSTYP2 ;END OF STRING
5968 114222 010077 763610 MOV R0,@$FSTPB ;SEND CHARACTER
5969 114226 010137 152256 MOV R1,FSTPTR ;SAVE POINTER TO TEXT
5970 114232 032777 020000 763570 BIT #DLCTS,@$FSTKS
5971 114240 001674 BEQ HANGUP
5972 114242 000624 BR FSXITA
5973
5974 114244 005077 763564 FSTYP2: CLR @$FSTPS ;CLEAR XMTR STATUS AGAIN
5975 114250 000177 036000 JMP @FSTYPR ;RETURN TO CALLER
5976
5977 ;CALL WITH # SECONDS IN R0, ADDRESS IN R1
5978 FSCLKR: PUSH R2
5979 PUSH R3
5980 PUSH R1
5981 114262 010002 MOV R0,R2 ;CONVERT R0 TO 60THS
5982 114264 005001 CLR R1
5983 000006 .REPT 6
5984 ASL R1
5985 ASL R0
5986 ADC R1
5987 .ENDR ;R1:R0 = 64 * ORIGINAL R0
5988 114266 006301 ASL R1
5989 114270 006300 ASL R0
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 169
CONS11 PAL[KL,SYS] Page 61.3 FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU
5990 114272 005501 ADC R1
5991 114274 006301 ASL R1
5992 114276 006300 ASL R0
5993 114300 005501 ADC R1
5994 114302 006301 ASL R1
5995 114304 006300 ASL R0
5996 114306 005501 ADC R1
5997 114310 006301 ASL R1
5998 114312 006300 ASL R0
5999 114314 005501 ADC R1
6000 114316 006301 ASL R1
6001 114320 006300 ASL R0
6002 114322 005501 ADC R1
6003 114324 006301 ASL R1
6004 114326 006300 ASL R0
6005 114330 005501 ADC R1
6006 114332 005003 CLR R3
6007 000002 .REPT 2
6008 ASL R3
6009 ASL R2
6010 ADC R3
6011 .ENDR ;R3:R2 = 4 * ORIGINAL R0
6012 114334 006303 ASL R3
6013 114336 006302 ASL R2
6014 114340 005503 ADC R3
6015 114342 006303 ASL R3
6016 114344 006302 ASL R2
6017 114346 005503 ADC R3
6018 114350 160200 SUB R2,R0
6019 114352 005601 SBC R1
6020 114354 160301 SUB R3,R1 ;R1:R0 GETS 60 * ORIGINAL R0
6021 114356 005002 CLR R2
6022 114360 063700 157172 ADD TIM11,R0
6023 114364 005501 ADC R1
6024 114366 063701 157174 ADD TIM11+2,R1
6025 114372 005502 ADC R2
6026 114374 063702 157176 ADD TIM11+4,R2 ;R2:R1:R0 HAVE NEW TIME
6027 114400 012703 152226 MOV #FSRTIM,R3 ;STORE IN CLOCK REQUEST TIME WORDS
6028 114404 010023 MOV R0,(R3)+
6029 114406 010123 MOV R1,(R3)+
6030 114410 010213 MOV R2,(R3)
6031 POP FSCLKA
6032 POP R3
6033 POP R2
6034 114422 000207 RTS PC
6035
6036
6037 114424 015
6038 114425 012 FSMSG: .ASCIZ /
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 170
CONS11 PAL[KL,SYS] Page 61.4 FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU
6039 114426 127
6040 114427 101
6041 114430 111
6042 114431 124
6043 114432 123
6044 114433 040
6045 114434 103
6046 114435 157
6047 114436 156
6048 114437 163
6049 114440 157
6050 114441 154
6051 114442 145
6052 114443 056
6053 114444 040
6054 114445 040
6055 114446 120
6056 114447 141
6057 114450 163
6058 114451 163
6059 114452 167
6060 114453 157
6061 114454 162
6062 114455 144
6063 114456 040
6064 114457 075
6065 114460 040
6066 114461 000
6067 WAITS Console. Password = /
6068
6069 114462 015
6070 114463 012 FSLOSM: .ASCIZ /
6071 114464 127
6072 114465 162
6073 114466 157
6074 114467 156
6075 114470 147
6076 114471 015
6077 114472 012 Wrong
6078 114473 000
6079 /
6080 PWORD: ;XLISTED OF COURSE
6081 000004 PWLEN==.-PWORD
6082 114500 .EVEN
6083
6084 ;HU command to KLDCP
6085 114500 104022 $HU: TTITRM
6086 PMSG <\BYE\>
6087 114502 104025 $PMSG
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 171
CONS11 PAL[KL,SYS] Page 61.5 FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU
6088 114504 145763 $$CLIT
6089 114506 004737 114040 JSR PC,HANGU1
6090 114512 005037 147756 CLR $TTYFL ;CLEAR PADDING AMOUNT
6091 114516 000137 100014 JMP $CONSL
6092
6093 .ENDC ;IF DF TELASB
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 172
KLDCP PAL[KL,SYS] Page 5.3 FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU
6094
6095 ;breakpoints
6096 .LIF DF BPTASB
6097 .INSRT BPNT11.PAL
6098
6099 ;subroutines, EMT dispatch, Initialization
6100 .INSRT SUB11.PAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 173
SUB11 PAL[KL,SYS] Page 1 FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU
6101 COMMENT ⊗ VALID 00047 PAGES
6102 C REC PAGE DESCRIPTION
6103 C00001 00001
6104 C00005 00002 .SBTTL BASIC INITIALIZATION ROUTINE, 19-AUG-75
6105 C00012 00003 .SBTTL SET EOP INTERVAL TALLY, ERROR EOP
6106 C00015 00004 .SBTTL ERROR HALT
6107 C00018 00005 .SBTTL PRINT ASCIZ MESSAGE (PNTAL)
6108 C00020 00006 .SBTTL PRINT BUFFER LOAD ROUTINE
6109 C00022 00007 .SBTTL TELETYPE PRINT OUTPUT ROUTINE
6110 C00024 00008 .SBTTL TELETYPE DRIVER
6111 C00028 00009 .SBTTL LINE PRINTER DRIVER
6112 C00032 00010 OPERATOR INTERRUPT TYPEIN CHECKS
6113 C00034 00011 .SBTTL PRINT CRLF
6114 C00036 00012 .SBTTL PRINT LOWER 18 BITS OF 36 BIT NUMBER
6115 C00038 00013 $PRT36: MOV 4(R1),R0 GET THE WORD
6116 C00040 00014 .SBTTL PRINT OCTAL
6117 C00042 00015 .SBTTL CONVERT BINARY TO DECIMAL AND TYPE ROUTINE
6118 C00045 00016 .SBTTL TTY INPUT ROUTINE TTICHR
6119 C00047 00017 .SBTTL TTIYES YES OR NO ROUTINE
6120 C00048 00018 .SBTTL READ SWITCH REGISTER
6121 C00050 00019 .SBTTL INPUT A STRING FROM TTY
6122 C00052 00020 82$: CMPB (R1),#141
6123 C00054 00021 SPECIAL CHAR PROCESS
6124 C00056 00022 SPECIAL CHARACTERS
6125 C00057 00023 .SBTTL CTY & FSTTY DL11 DRIVERS
6126 C00060 00024 .SBTTL READ AN OCTAL NUMBER FROM THE TTY
6127 C00062 00025 .SBTTL READ A DECIMAL NUMBER FROM THE TTY
6128 C00064 00026 .SBTTL READ A 12 DIGIT OCTAL (36 BIT) NUMBER
6129 C00066 00027 3$: MOV R5,$INPTC RESET INPUT POINTER
6130 C00068 00028 8$: TSTB $0FLG
6131 C00070 00029 .SBTTL SIGNED MULTIPLY SUBROUTINE
6132 C00072 00030 .SBTTL BREAK CHARACTER
6133 C00074 00031 .SBTTL TELETYPE INPUT TERMINATION CHECK
6134 C00076 00032 .SBTTL INPUT & CHECK OCTAL NUMBER
6135 C00077 00033 .SBTTL SHIFT R0 RIGHT/LEFT ROUTINES
6136 C00079 00034 .SBTTL SMALL TIME DELAY
6137 C00080 00035 FATAL VECTOR INTERRUPT
6138 C00081 00036 .SBTTL EMT DECODER
6139 C00083 00037 $PNTNBR EMT + 30
6140 C00085 00038 $DPSVT EMT + 110
6141 C00087 00039 $RPLKUP EMT + 170
6142 C00089 00040 .SBTTL POWER DOWN AND UP ROUTINES
6143 C00092 00041 .SBTTL EXIT SUBROUTINE
6144 C00093 00042 .SBTTL PDP10 OPERATIONS
6145 C00100 00043 $D10ADR:MOV #L10ADR,R4
6146 C00103 00044 START MICROCODE
6147 C00104 00045 PDP-10 INSTRUCTION EXECUTE
6148 C00105 00046 PDP-10 CONTROLLED STOP ROUTINE
6149 C00107 00047 .SBTTL CLOCK INITIALIZATION, INTERRUPTS
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 174
SUB11 PAL[KL,SYS] Page 1.1 FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU
6150 C00110 ENDMK
6151 C⊗;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 175
SUB11 PAL[KL,SYS] Page 2 BASIC INITIALIZATION ROUTINE, 19-AUG-75
6152 .SBTTL BASIC INITIALIZATION ROUTINE, 19-AUG-75
6153
6154 ;*THIS SUBROUTINE PERFORMS THE MOST ELEMENTARY SET UP FOR THE CPU
6155 ;*THIS ROUTINE MUST BE EXECUTED BY ALL OF THE POSSIBLE START
6156 ;*OPTIONS PRIOR TO ANY OTHER SUBROUTINE
6157
6158 114522 012706 157776 $$ILOAD:MOV #STACK,SP ;START HERE FIRST TIME
6159 114526 012701 002435 MOV #<<.DELAY-$ILDCLR>/2>,R1
6160 114532 012700 152226 MOV #$ILDCLR,R0
6161 114536 005020 1$: CLR (R0)+ ;CLEAR SPECIAL CONTROL WORDS
6162 114540 005301 DEC R1
6163 114542 003375 BGT 1$
6164 114544 012737 000017 157252 MOV #17,CLKDFL+4 ;INITIAL DEFAULT, ALL 4 CACHES
6165 114552 012737 000036 157262 MOV #36,PEBITS ;INITIAL DEFAULT, AR/ARX, FM, CRAM, DRAM
6166 ;AND NOT FS PROBE, PARITY STOP ENABLES
6167 114560 004737 115174 JSR PC,$CKSUM ;CHECKSUM "KLDCP"
6168 114564 010037 157314 MOV R0,$ILDSUM ;SAVE
6169
6170 114570 012737 000140 177776 $SBRINT:MOV #CPUPR,PS ;SET CPU PRIORITY ;NORMAL START (100000)
6171 114576 012706 157776 MOV #STACK,SP ;SET THE STACK POINTER
6172
6173 .IF DF %%DDT
6174 ; MOV #CPUPR,%DDTS ;CPU PRIORITY FOR DDT
6175 114602 013746 000014 MOV @#14,-(SP) ;PUSH 14 AND 16
6176 114606 013746 000016 MOV @#16,-(SP) ;TO ALLOW DDT BREAKPOINT TRAPS
6177 .ENDC
6178
6179 .IF DF %%QMP
6180 114612 013701 000776 MOV 776,R1 ;Save location 776
6181 .ENDC
6182
6183 114616 005000 CLR R0 ;SET ENTIRE VECTOR AREA TO:
6184 114620 012720 122702 1$: MOV #$FATLE,(R0)+ ; ;ADDRESS OF ERROR HANDLER
6185 114624 012720 000340 MOV #PR7,(R0)+ ; ;PR7
6186 114630 020027 001000 CMP R0,#1000
6187 114634 002771 BLT 1$
6188
6189 .IF DF %%QMP
6190 114636 020127 CMP R1,(PC)+ ;did 776 contain JMP (R0)?
6191 114640 000110 JMP (R0) ;if so, we were started by WAITS
6192 114642 001003 BNE 99$ ;and must go into monitor mode.
6193 114644 052737 100000 000776 BIS #100000,776 ;set sign bit in 776.
6194 99$:
6195 .ENDC
6196
6197 114652 012737 122712 000004 MOV #$TIMOT,@#ERRVEC ;TIME OUT BUS ERROR VECTOR
6198 114660 012737 122722 000010 MOV #$RESVD,@#RESVEC ;RESERVED INSTRUCTION VECTOR
6199 114666 012737 123616 000024 MOV #$PWRDN,@#PWRVEC ;POWER FAIL VECTOR
6200
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 176
SUB11 PAL[KL,SYS] Page 2.1 BASIC INITIALIZATION ROUTINE, 19-AUG-75
6201 .LIF DF BPTASB
6202 MOV #$BRKPT,@#IOTVEC ;IOT VECTOR
6203
6204 114674 012737 123024 000030 MOV #$EMTRP,@#EMTVEC ;EMT VECTOR
6205
6206 .IF DF %%DDT
6207 114702 012637 000016 MOV (SP)+,@#16 ;FOR DDT, POP BREAKPOINT TRAP
6208 114706 012637 000014 MOV (SP)+,@#14
6209 .IFF
6210 MOV #.BCCT,@#BPTVEC ;SET BP VECTOR
6211 .ENDC
6212
6213 .IF DF SAILVR
6214 114712 004737 125746 JSR PC,CLKSTA ;CLOCK START (AFTER CLOBBERING INTERRUPTS)
6215 114716 012737 000140 000032 MOV #CPUPR,@#EMTVEC+2 ;SO EMTS DON'T AFFECT PROCESSOR PRIORITY
6216 .ENDC
6217
6218 .IF DF TELASB
6219 114724 012777 000004 763076 MOV #DLRTS,@$FSTKS ;INITIALIZE
6220 114732 012777 113456 763100 MOV #FSRINT,@$FSTRV ;SETUP FS KL11E RECEIVE TRAP VECTOR
6221 114740 012777 114160 763074 MOV #FSTINT,@$FSTTV ;SETUP FS KL11E TRANSMIT TRAP VECTOR
6222 114746 012700 116100 MOV #40000.,R0 ;40000*2.36USEC = 94.4 MS
6223 114752 077001 SOB R0,. ;WAIT FOR DATA SET TO HANG UP
6224 114754 052777 000046 763046 BIS #DLRTS!DLDTR!DLDIE,@$FSTKS ;SET DATA TERM READY AND DATA SET INT ENB
6225 ;LEAVE REQUEST TO SEND UP ALTHOUGH WE DON'T USE IT
6226 .ENDC ;IF DF TELASB
6227
6228 .IF DF CLKASB
6229 114762 012777 111760 763064 MOV #TCUINT,@$CLKTV ;SET UP TCU-100 TRAP VECTOR
6230 .ENDC ;IF DF CLKASB
6231
6232 114770 012700 147422 11$: MOV #BUFCLR,R0 ;CLEAR BUFFER STORAGE BETWEEN:
6233 114774 005020 21$: CLR (R0)+ ;BUFCLR: AND .DELAY !
6234 114776 020027 152226 CMP R0,#$ILDCLR
6235 115002 001374 BNE 21$
6236 115004 010637 147736 MOV SP,$KONSP
6237
6238 115010 005037 077776 CLR CONSOL-2
6239
6240 115014 104217 TTPINI ;RESET TTY POINTERS
6241
6242 115016 012737 000204 150000 MOV #132.,$PGWID ;SET PAGE WIDTH PARAMETER (LA36!)
6243 115024 012737 000000 147756 MOV #0,$TTYFL ;SET FILL PARAMETER TO (LA36!)
6244 115032 104043 PFORCE ;MUST TYPE STARTUP
6245 115034 012737 115154 000004 MOV #NOPAR,ERRVEC ;SET BUS TIMEOUT IN CASE NO PARITY
6246 115042 012737 124100 000114 MOV #MEMPE,MMLPIV ;SETUP PARITY VECTOR
6247 115050 012737 000001 172100 MOV #MMPIE,MMLPBA ;ENABLE PARITY ERRORS
6248 115056 012737 122712 000004 MOV #$TIMOT,ERRVEC ;RESTORE BUS TIMEOUT
6249
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 177
SUB11 PAL[KL,SYS] Page 2.2 BASIC INITIALIZATION ROUTINE, 19-AUG-75
6250 115064 005737 157316 TST $ONETM
6251 115070 001010 BNE 3$
6252
6253 .LIF DF BPTASB
6254 JSR PC,.CB ;CLEAR BP'S
6255
6256 .IF DF SAILVR
6257 PMSG <\Stanford KLDCP - QMP/EN\>
6258 115072 104025 $PMSG
6259 115074 145771 $$CLIT
6260 115076 012700 157240 MOV #SWS10,R0 ;setup initial switches to 3,,600000
6261 115102 005020 CLR (R0)+ ;bits 20:35
6262 115104 052720 000017 BIS #17,(R0)+ ;bits 04:19
6263 115110 005010 CLR (R0) ;bits 0:3
6264 .IFF
6265 PMSG <\DECSYSTEM10 DIAGNOSTIC CONSOLE\VERSION >
6266 MOV #MCNVER,R0
6267 PNTOCS
6268 PNTCI
6269 '.
6270 MOV #DECVER,R0
6271 PNTOCS
6272 ;.IF DF SAILVR
6273 ; PMSG <, Stanford version >
6274 ; MOV #SAILVR,R0
6275 ; PNTOCS
6276 ;.ENDC
6277 PMSG <\11 SWR = >
6278 MOV SWR,R0
6279 PNTOCT ;PRINT CONSOLE SWITCHES
6280 PCRLF
6281 .ENDC
6282
6283 115112 004737 140620 3$: JSR PC,DTEINI ;DTE20 INITIALIZATION
6284
6285 .IF NDF SAILVR
6286 TST DEVTYP ;USING RP04 ?
6287 BLE 4$ ;NO
6288 RPLOAD ;YES, INIT & LOAD PACK
6289 BCC 4$
6290 RPERROR ;FAILED
6291 .ENDC
6292
6293 4$:
6294 .IF DF %%QMP
6295 115116 005737 000776 TST 776 ;were we loaded and started by the 10?
6296 115122 002010 BGE 44$ ;branch if not
6297 115124 104055 SETFLG
6298 115126 147666 MONMODE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 178
SUB11 PAL[KL,SYS] Page 2.3 BASIC INITIALIZATION ROUTINE, 19-AUG-75
6299 115130 104055 SETFLG
6300 115132 147670 TENRUN
6301 115134 104055 SETFLG
6302 115136 147614 PRGRUN
6303 115140 104055 SETFLG
6304 115142 147664 MTTYOF
6305 .ENDC
6306
6307 44$:
6308 .LIF DF %%QMP
6309 115144 004737 137542 JSR PC,QMPINI ;initialize QMP
6310
6311 115150 000137 100106 JMP CONSL ;NOW TO CONSOLE
6312
6313 115154 000002 NOPAR: RTI ;NO PARITY REGISTER
6314
6315 115156 012700 152172 $CMCLR: MOV #$CMTAG,R0 ;CLEAR COMMON STORAGE
6316 115162 005020 1$: CLR (R0)+
6317 115164 020027 152222 CMP R0,#MONCTL
6318 115170 002774 BLT 1$
6319 115172 000207 RTS PC
6320
6321 115174 005037 101140 $CKSUM: CLR $KDCEN ;CLEAR ONLY CHANGEABLE LOCATION
6322 115200 012701 100000 MOV #START,R1
6323 115204 005000 CLR R0
6324 115206 062100 2$: ADD (R1)+,R0 ;CHECKSUM "KLDCP"
6325 115210 020137 144716 CMP R1,$$FF
6326 115214 101774 BLOS 2$
6327 115216 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 179
SUB11 PAL[KL,SYS] Page 3 SET EOP INTERVAL TALLY, ERROR EOP
6328 .SBTTL SET EOP INTERVAL TALLY, ERROR EOP
6329 .IF NDF %%EOP
6330
6331 $EOPSET:
6332 $EOP:
6333 115220 104000 $ERREOP:FATAL
6334 .ENDC
6335
6336 .IF DF %%EOP
6337 $EOPSET:MOV R0,$ENDCT ;SET EOP INTERVAL TALLY
6338 EXIT
6339
6340 ;CONSOLE SET EOP INTERVAL
6341
6342 .EP: TTISDL
6343 BCS 1$
6344 TTIDEC ;SPECIFIED AS DECIMAL INTERVAL
6345 BCS 1$
6346 MOV R0,$ENDCT
6347 CLR $EOPCT
6348 JMP $KONSL
6349 1$: JMP $PARAM
6350
6351 .SBTTL END OF PASS ROUTINE
6352
6353 $EOP: MOV #$PASS,R5
6354 INC (R5) ;INCREMENT THE PASS NUMBER
6355 CMP (R5),#30001. ;LIMIT MAX COUNT TO 30000
6356 BLT 4$
6357 CLR (R5)
6358 INC (R5)
6359 MOV $ENDCT,$EOPCT ;RESET REPORT INTERVAL
6360
6361 4$: MOV (R5),SWR ;DISPLAY PASS COUNT
6362 SWITCH ;READ THE SWITCH REGISTER
6363
6364 BIT R0,#ABORT ;ABORT AFTER CURRENT PASS?
6365 BNE 1$ ;YES
6366
6367 DEC $EOPCT ;DECREMENT EOP
6368 BGT 3$
6369 BR 2$
6370
6371 1$: MOV #1,$ITERA ;SET ITERATION SO WE WILL EXIT
6372 2$: PMSG <END PASS >
6373
6374 MOV (R5),R0 ;PASS COUNT TO R0
6375 PNTDEC
6376 PCRLF
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 180
SUB11 PAL[KL,SYS] Page 3.1 SET EOP INTERVAL TALLY, ERROR EOP
6377
6378 MOV $ENDCT,$EOPCT ;RESTORE COUNTER
6379
6380 3$: DEC $ITERA ;DECREMENT ITERATION COUNT
6381 BEQ $ERREOP
6382 CLR $ITERA
6383 EXIT
6384
6385 $ERREOP:TST MONCTL ;STAND ALONE ?
6386 BNE $EROP ;NO, *WHAT TO DO ??*
6387 CLR TENRUN ;TURN OFF TEN SUPPORT
6388 CLR PRGRUN ;YES, ALLOW "J" AGAIN
6389
6390 $EROP: JMP CONSL ;MONITOR, TO NEXT SCRIPT ENTRY
6391
6392 .ENDC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 181
SUB11 PAL[KL,SYS] Page 4 ERROR HALT
6393 .SBTTL ERROR HALT
6394
6395 $PRGHLT:PUSH R0
6396 PMSG <\PRG>
6397 115224 104025 $PMSG
6398 115226 146023 $$CLIT
6399 115230 000412 BR $PH2
6400
6401 $ERRHLT:PUSH R0
6402 115234 104057 SWITCH
6403 115236 030027 000400 BIT R0,#ERSTOP ;STOP ON ERROR ?
6404 115242 001003 BNE 1$ ;YES
6405 POP R0
6406 EXIT ;NO, KEEP GOING
6407 115246 000137 124064 JMP $EXIT
6408
6409 1$: PMSG <\ERROR>
6410 115252 104025 $PMSG
6411 115254 146030 $$CLIT
6412
6413 115256 104055 $PH2: SETFLG
6414 115260 147610 .HCFLG ;ALLOW HALT CONTINUE
6415
6416 115262 012637 147636 $PH1: MOV (SP)+,$R0SAV ;SETUP SO "RG" CAN PRINT
6417 115266 012700 147652 MOV #$R5SAV+2,R0
6418 115272 012640 MOV (SP)+,-(R0) ;R5 to $R5SAV
6419 115274 012640 MOV (SP)+,-(R0) ;R4 to $R4SAV
6420 115276 012640 MOV (SP)+,-(R0) ;R3 to $R3SAV
6421 115300 012640 MOV (SP)+,-(R0) ;R2 to $R2SAV
6422 115302 012640 MOV (SP)+,-(R0) ;R1 to $R1SAV
6423 115304 012637 147606 MOV (SP)+,.HCADR ;halt/continue address (if needed)
6424 115310 012637 147654 MOV (SP)+,$PSSAV ;halt/continue PS.
6425 115314 010637 147652 MOV SP,$SPSAV ;save dead SP
6426 PMSG < HALT AT >
6427 115320 104025 $PMSG
6428 115322 146037 $$CLIT
6429 115324 013700 147606 MOV .HCADR,R0 ;GET ADDRESS
6430 115330 162700 000002 SUB #2,R0 ;COMPUTE ACTUAL ADDRESS
6431 115334 104035 PNTOCT ;PRINT ERROR HALT ADDRESS
6432 115336 104031 PCRLF
6433 115340 104043 PFORCE
6434 115342 005002 CLR R2 ;REGISTER NUMBER
6435 115344 012701 147636 MOV #$R0SAV,R1 ;REG SAVE TABLE POINTER
6436 115350 104214 1$: PNTCI
6437 115352 000122 'R
6438 115354 010200 MOV R2,R0 ;register number
6439 115356 104030 PNTNBR ;PRINT REGISTER NUMBER
6440 115360 104033 4$: PSLASH
6441 115362 012100 2$: MOV (R1)+,R0
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 182
SUB11 PAL[KL,SYS] Page 4.1 ERROR HALT
6442 115364 104035 PNTOCT ;PRINT CONTENTS
6443 115366 104031 PCRLF
6444 115370 005202 INC R2
6445 115372 020227 000006 CMP R2,#6
6446 115376 002764 BLT 1$ ;loop for zero to 5
6447 115400 003003 BGT 3$ ;exit for 7
6448 115402 104214 PNTCI
6449 115404 050123 "SP
6450 115406 000764 BR 4$ ;print R6 as SP
6451
6452 115410 005002 3$: CLR R2 ;Count of stack frames
6453 115412 013701 147652 MOV $SPSAV,R1 ;Stack top address
6454 115416 010100 91$: MOV R1,R0
6455 115420 104035 PNTOCT
6456 115422 104033 PSLASH
6457 115424 012100 MOV (R1)+,R0
6458 115426 104035 PNTOCT ;PRINT CONTENTS
6459 115430 104031 PCRLF
6460 115432 020127 160000 CMP R1,#COREND
6461 115436 002004 BGE 92$
6462 115440 005202 INC R2
6463 115442 020227 000006 CMP R2,#6
6464 115446 002763 BLT 91$ ;loop to display several stack items
6465 115450 005737 147610 92$: TST .HCFLG ;is this a continuable halt?
6466 115454 001402 BEQ 93$ ;BR if not
6467 115456 000137 100014 JMP $CONSL ;RETURN TO MONITOR
6468
6469 93$:
6470 .LIF DF %%DDT
6471 115462 000137 056000 JMP 56000
6472
6473 .LIF NDF %%DDT
6474 JMP $SBRINT ;major crash. nearly major reload
6475
6476 115466 005737 147610 .HC: TST .HCFLG
6477 115472 001002 BNE 1$
6478 115474 000137 100574 JMP $CMDER ;HC NOT ALLOWED
6479 115500 005037 147610 1$: CLR .HCFLG
6480
6481 .LIF DF BPTASB
6482 JSR PC,.BCHC
6483
6484 115504 013706 147652 MOV $SPSAV,R6
6485 115510 013737 147654 177776 MOV $PSSAV,PS
6486 115516 000177 032064 JMP @.HCADR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 183
SUB11 PAL[KL,SYS] Page 5 PRINT ASCIZ MESSAGE (PNTAL)
6487 .SBTTL PRINT ASCIZ MESSAGE (PNTAL)
6488
6489 115522 142710 000200 $PNTAL: BICB #200,(R0) ;CLEAR JUNK
6490 115526 105710 TSTB (R0) ;REACHED EOL YET?
6491 115530 001430 BEQ 3$ ;YES
6492 115532 005737 150722 TST HLPPNT ;PRINTING A HELP FILE
6493 115536 001006 BNE 4$ ;YES
6494 115540 121027 000137 CMPB (R0),#BKARW ;BACKARROW (-)?
6495 115544 001416 BEQ 2$ ;YES
6496 115546 121027 000134 CMPB (R0),#BKSLH ;BACKSLASH (\)?
6497 115552 001403 BEQ 1$
6498 115554 112001 4$: MOVB (R0)+,R1 ;PUT CHAR IN R1
6499 115556 104154 PLDBUF ;LOAD INTO OUTPUT BUFFER
6500 115560 000760 BR $PNTAL ;DO TILL E-O-L
6501
6502 115562 012701 000015 1$: MOV #CR,R1 ;BACKSLASH
6503 115566 104154 PLDBUF ;OUTPUT CR & LF
6504 115570 012701 000012 MOV #LF,R1
6505 115574 104154 PLDBUF
6506 115576 005200 11$: INC R0
6507 115600 000750 BR $PNTAL
6508
6509 115602 005037 147770 2$: CLR CTRLOF ;CLEAR CONTROL O FLAG
6510 115606 104151 PRINTT ;BACKARROW, PRINT BUFFER
6511 115610 000772 BR 11$
6512
6513 115612 000406 3$: BR $$PNTX
6514
6515 .SBTTL PRINT ASCII NUMBER (PNTNBR)
6516
6517 115614 042700 177770 $PNTNBR:BIC #177770,R0
6518 115620 052700 000060 BIS #'0,R0
6519
6520 .SBTTL PRINT ASCII CHARACTER (PNTCHR)
6521
6522 115624 110001 $PNTCHR:MOVB R0,R1
6523 115626 104154 PLDBUF
6524 $$PNTX: EXIT
6525 115630 000137 124064 JMP $EXIT
6526
6527 115634 012700 000040 $PSPACE: MOV #SPACE,R0
6528 115640 000771 BR $PNTCHR
6529
6530 115642 012700 000057 $PSLASH: MOV #SLASH,R0
6531 115646 000766 BR $PNTCHR
6532
6533 115650 012700 000054 $PCOMMA: MOV #COMMA,R0
6534 115654 000763 BR $PNTCHR
6535
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 184
SUB11 PAL[KL,SYS] Page 5.1 PRINT ASCII CHARACTER (PNTCHR)
6536 115656 012700 000011 $PTAB: MOV #TAB,R0
6537 115662 000760 BR $PNTCHR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 185
SUB11 PAL[KL,SYS] Page 6 PRINT BUFFER LOAD ROUTINE
6538 .SBTTL PRINT BUFFER LOAD ROUTINE
6539
6540 $PLDBUF:PUSH R0
6541 115666 013700 150474 MOV $OUTPT,R0
6542 115672 042701 177600 BIC #177600,R1 ;STRIP TO 7 BITS
6543 115676 110120 MOVB R1,(R0)+ ;PUT CHAR IN BUFFER
6544 115700 105010 CLRB (R0) ;INSERT TRAILING NULL
6545 115702 010037 150474 MOV R0,$OUTPT
6546 POP R0
6547 115710 023727 150474 150470 CMP $OUTPT,#$OUTBF+140.;EXCEEDED BUFFER CAPACITY
6548 115716 002012 BGE 2$
6549
6550 115720 122701 000012 1$: CMPB #LF,R1 ;WAS CHAR LINE FEED
6551 115724 001407 BEQ 2$ ;YES
6552 115726 122701 000007 CMPB #BELL,R1 ;WAS CHAR BELL ?
6553 115732 001404 BEQ 2$ ;YES
6554 115734 122701 000000 CMPB #NULL,R1 ;WAS CHAR NULL ?
6555 115740 001401 BEQ 2$ ;YES
6556 115742 000732 3$: BR $$PNTX ;NO, RETURN
6557
6558 115744 005737 152212 2$: TST PCMDNF ;DOING NO PRINT PROGRAM COMMAND
6559 115750 001374 BNE 3$
6560
6561 .LIF DF LPTASB
6562 PLPT ;LINE PRINTER
6563
6564 115752 104151 PRINTT ;PRINT BUFFER
6565 115754 005037 147764 CLR $TTLKF ;CLEAR TTLOOK FLAG
6566 PUSH R0
6567 115762 104215 PNTRST ;RESET OUTPUT POINTERS
6568 POP R0
6569 115766 000765 BR 3$
6570
6571 ;PRINT, BACKUP OUTPUT INSERTION POINTER
6572
6573 115770 023727 150474 150254 $PNTBAK:CMP $OUTPT,#$OUTBF ;ALL THE WAY BACK ?
6574 115776 003402 BLE 1$ ;YES
6575 116000 005337 150474 DEC $OUTPT ;NO, BACKUP ONE BYTE
6576 116004 000711 1$: BR $$PNTX
6577
6578 ;TELETYPE POINTER INITIALIZATION
6579
6580 116006 012737 150500 150716 $TTPINI:MOV #$INBUF,$INPTC
6581 116014 012737 150500 150720 MOV #$INBUF,$INPTR
6582
6583 116022 012700 150254 $PNTRST:MOV #$OUTBF,R0
6584 116026 010037 150474 MOV R0,$OUTPT
6585 116032 010037 150472 MOV R0,$OUTPP
6586 116036 000674 BR $$PNTX
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 186
SUB11 PAL[KL,SYS] Page 7 TELETYPE PRINT OUTPUT ROUTINE
6587 .SBTTL TELETYPE PRINT OUTPUT ROUTINE
6588
6589 $PRINT: PUSH R0
6590 116042 005737 147760 TST $FORCE ;FORCED PRINT OUT
6591 116046 001014 BNE 19$ ;YES BYPASS SWITCH TEST
6592
6593 116050 105737 157304 TSTB LPTFLG ;PRINT ON LPT ?
6594 116054 001004 BNE 99$ ;BR IF YES
6595
6596 116056 104057 SWITCH
6597 116060 030027 010000 BIT R0,#NOPNT ;PRINTOUT INHIBITED
6598 116064 001407 BEQ 1$
6599
6600 116066 013737 150474 150472 99$: MOV $OUTPT,$OUTPP ;DONE, SET PRINTED TO POSITION
6601 POP R0
6602 116076 000654 BR $$PNTX ;RETURN
6603
6604 116100 005037 147770 19$: CLR CTRLOF ;CLEAR CONTROL O FLAG
6605 116104 013701 150472 1$: MOV $OUTPP,R1
6606
6607 116110 122711 000015 11$: CMPB #CR,(R1) ;IS CHAR CR?
6608 116114 001412 BEQ 2$ ;BR IF YES
6609 116116 023737 150002 150000 CMP $PRNTH,$PGWID ;NO,ARE WE AT RIGHT MARGIN
6610 116124 002410 BLT 3$ ;BR IF NO
6611 116126 112700 000015 MOVB #CR,R0 ;YES, FREE CR/LF
6612 116132 104152 PTTY
6613 116134 112700 000012 MOVB #LF,R0
6614 116140 104152 PTTY
6615
6616 116142 005237 147774 2$: INC $TPLIT ;COUNT LINE
6617
6618 116146 111100 3$: MOVB (R1),R0 ;GET CHARACTER
6619 116150 001746 BEQ 99$ ;IF NULL, DONE
6620 116152 104152 PTTY ;PRINT CHAR
6621 116154 105721 TSTB (R1)+ ;LOOP TILL E-O-L
6622 116156 001354 BNE 11$
6623 116160 004737 110742 4$: JSR PC,C10COP
6624 116164 004737 120776 JSR PC,$TORDY ;THEN WAIT FOR TTY TO BE READY
6625 116170 103773 BCS 4$
6626 116172 000735 BR 99$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 187
SUB11 PAL[KL,SYS] Page 8 TELETYPE DRIVER
6627 .SBTTL TELETYPE DRIVER
6628
6629 116174 005002 $PTTY: CLR R2
6630 116176 005003 CLR R3
6631 116200 004737 116546 1$: JSR PC,$PTTYC ;DO OPERATOR CHECKS
6632 116204 005703 TST R3 ;R3 = 0 IF NOTHING
6633 116206 001410 BEQ 4$
6634 116210 122703 000021 2$: CMPB #XON,R3
6635 116214 001407 BEQ 6$ ;XON,PRINT
6636 116216 122703 000023 CMPB #XOFF,R3
6637 116222 001002 BNE 4$
6638 116224 012702 777777 3$: MOV #-1,R2 ;XOFF,STOP PRINT
6639 116230 005702 4$: TST R2
6640 116232 001362 BNE 1$ ;IF XOFF, WAIT FOR XON
6641 116234 005737 147770 6$: TST CTRLOF ;CONTROL O'D ?
6642 116240 001015 BNE 7$ ;YES
6643 116242 122700 000015 CMPB #CR,R0 ;CR
6644 116246 001012 BNE 7$
6645 116250 005737 147776 TST $TPLIN ;YES, IN PAGE MODE
6646 116254 001407 BEQ 7$ ;NO
6647 116256 023737 147774 147776 CMP $TPLIT,$TPLIN ;FILLED THIS PAGE
6648 116264 002403 BLT 7$
6649 116266 005037 147774 CLR $TPLIT ;YES,CLEAR COUNTER,XOFF
6650 116272 000754 BR 3$
6651
6652 116274 005002 7$: CLR R2
6653 116276 122700 000011 CMPB #CNTRLI,R0 ;IS CHAR A TAB?
6654 116302 001005 BNE 10$
6655 116304 004737 116516 8$: JSR PC,$PTTY1 ;COMPUTE SPACES COUNT
6656 116310 005202 9$: INC R2 ;COMPLETED "TAB"?
6657 116312 112700 000040 MOVB #BLANK,R0
6658
6659 116316 004737 110742 10$: JSR PC,C10COP ;PERFORM CLOCK OPERATIONS
6660 116322 005737 147770 TST CTRLOF
6661 116326 001011 BNE 11$
6662 116330 004737 120776 JSR PC,$TORDY ;WAIT TILL TTY IS READY
6663 116334 103770 BCS 10$
6664 116336 110037 147742 MOVB R0,$TOCHR ;PRINT CHAR
6665 116342 004737 121040 JSR PC,$TOOUT
6666 116346 004737 116532 19$: JSR PC,$PTTY2 ;WILL CHAR MOVE PRINT HEAD ?
6667
6668 116352 005702 11$: TST R2 ;DOING SPACES?
6669 116354 001355 BNE 9$ ;BR IF YES
6670 116356 005737 147770 TST CTRLOF
6671 116362 001053 BNE 15$
6672 116364 012702 144636 MOV #$DTBL0,R2 ;FILLER PROCESS
6673 116370 105712 12$: TSTB (R2)
6674 116372 001447 BEQ 15$ ;BR IF CHAR DOESN'T REQUIRE FILLS
6675 116374 122200 CMPB (R2)+,R0
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 188
SUB11 PAL[KL,SYS] Page 8.1 TELETYPE DRIVER
6676 116376 001374 BNE 12$
6677 116400 005302 DEC R2 ;FOUND
6678 116402 162702 144636 SUB #$DTBL0,R2
6679 116406 006302 ASL R2
6680 116410 016202 144642 MOV $DTBL1(R2),R2 ;ADDRESS TO R2
6681 116414 063702 147756 ADD $TTYFL,R2 ;ADD FILL PARAMETER
6682 116420 111202 MOVB (R2),R2 ;R2 = NUMBER OF FILLS
6683 116422 120027 000015 CMPB R0,#CR ;CR?
6684 116426 001014 BNE 13$ ;NO
6685 116430 023727 150002 000017 CMP $PRNTH,#15. ;MORE THEN 15 CHARS ON LINE ?
6686 116436 003001 BGT 16$
6687 SR R2,1 ;NO, 1/4 TH OF FILLERS THEN
6688 116442 023727 150002 000050 16$: CMP $PRNTH,#40. ;MORE THAN 40 CHARS ON LINE ?
6689 116450 003001 BGT 17$
6690 SR R2,1 ;NO, 1/2 OF FILLERS THEN
6691 116454 005037 150002 17$: CLR $PRNTH ;SET PRINT HEAD TO LEFT MARGIN
6692
6693 116460 005302 13$: DEC R2 ;COMPLETED FILLERS?
6694 116462 002413 BLT 15$
6695 116464 004737 110742 14$: JSR PC,C10COP ;PERFORM CLOCK OPERATIONS
6696 116470 004737 120776 JSR PC,$TORDY
6697 116474 103773 BCS 14$
6698 116476 112737 000000 147742 MOVB #NULL,$TOCHR ;SEND FILLER
6699 116504 004737 121040 JSR PC,$TOOUT
6700 116510 000763 BR 13$
6701 15$: EXIT ;RETURN
6702 116512 000137 124064 JMP $EXIT
6703
6704 116516 013702 150002 $PTTY1: MOV $PRNTH,R2 ;HEAD POSITION
6705 116522 162702 000010 1$: SUB #8.,R2 ;DIVIDED BY 8
6706 116526 002375 BGE 1$ ;REMAINDER IS SPACES COUNT
6707 116530 000207 RTS PC
6708
6709 116532 120027 000040 $PTTY2: CMPB R0,#BLANK ;WILL CHAR MOVE PRINT HEAD?
6710 116536 002402 BLT 1$ ;BR IF NO
6711 116540 005237 150002 INC $PRNTH ;YES
6712 116544 000207 1$: RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 189
SUB11 PAL[KL,SYS] Page 9 LINE PRINTER DRIVER
6713 .SBTTL LINE PRINTER DRIVER
6714
6715 .IF DF LPASB
6716
6717 $PLPT: PUSH R0
6718 TST LPTFLG ;PRINT ON LPT ?
6719 BPL 99$ ;NO
6720 TSTB LPTFLG
6721 BEQ 99$
6722 TST $FORCE ;FORCED PRINT ?
6723 BNE 1$ ;YES, BYPASS SWITCH TEST
6724 SWITCH
6725 BIT R0,#NOPNT ;PRINTOUT INHIBITED ?
6726 BEQ 1$ ;NO
6727 99$: POP R0
6728 EXIT ;RETURN
6729
6730 1$: TST LPTYPE ;LP20 OR LP11 ?
6731 BNE 50$ ;LP20
6732 TST @$LPS ;IS LPT OK ?
6733 BMI 4$ ;BR IF ERROR
6734 MOV #$OUTBF,R1
6735 2$: MOVB (R1)+,R0 ;GET CHAR
6736 BEQ 99$ ;NULL, DONE
6737 3$: CLR R2
6738 CMPB #CNTRLI,R0 ;TAB ?
6739 BNE 41$
6740 JSR PC,$PTTY1 ;YES, COMPUTE SPACES COUNT
6741 42$: INC R2
6742 MOV #BLANK,R0
6743 41$: JSR PC,$PTTYC ;DO OPERATOR CHECKS
6744 32$: TST @$LPS ;LPT OK ?
6745 BMI 4$ ;NO
6746 JSR PC,C10COP ;PERFORM CLOCK OPERATIONS
6747 TSTB @$LPS ;LPT READY ?
6748 BPL 41$ ;NO
6749 MOVB R0,@$LPB ;PRINT CHARACTER
6750 JSR PC,$PTTY2 ;WILL CHAR MOVE PRINT HEAD ?
6751 45$: TST R2 ;COMPLETED "TAB" ?
6752 BNE 42$
6753 43$: CMPB R0,#CR
6754 BNE 44$
6755 CLR $PRNTH ;IF CR, RESET HEAD POSITION
6756 44$: BR 2$
6757
6758 4$: MOV #$LPTOF,R1 ;"LPT OFF LINE"
6759 5$: MOVB (R1),R0
6760 PTTY
6761 TSTB (R1)+
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 190
SUB11 PAL[KL,SYS] Page 9.1 LINE PRINTER DRIVER
6762 BEQ 6$
6763 BR 5$
6764 6$: CLRB LPTFLG ;PRINT ON TTY TILL RESELECTED
6765 BR 99$
6766
6767 50$: MOV LPTYPE,R5 ;LP20 DRIVER ROUTINE
6768 MOV #LPLINI!LPRERR,(R5) ;CLEAR LP20
6769 DEC LPPCTR(R5) ;CLEAR PAGE COUNTER
6770 MOV #$OUTBF,R0 ;GET BUFFER ADDRESS
6771 MOV R0,LPBSAD(R5) ;SETUP LP20 BUFFER ADDRESS
6772 SUB $OUTPT,R0 ;COMPUTE BYTE COUNT
6773 MOV R0,LPBCTR(R5) ;SETUP LP20 BYTE COUNT
6774 MOV #LPPENB!LPGO,(R5) ;START XFER
6775 JSR PC,LP20DN ;WAIT FOR DONE
6776 BCS 4$ ;ERROR
6777 BR 99$ ;DONE
6778
6779 LP20DN: JSR PC,C10COP ;PERFORM CLOCK OPERATIONS
6780 BIT #LPERR!LPPZRO!LPUCHR!LPDONE,(R5)
6781 BEQ LP20DN ;WAIT FOR DONE OR ERROR
6782
6783 TSTB (R5) ;DONE ?
6784 BPL 1$ ;NO, ERROR
6785 CLC
6786 RTS PC ;DONE, C-BIT CLEAR RETURN
6787
6788 1$: SEC
6789 RTS PC ;ERROR, C-BIT SET RETURN
6790
6791 $LPTOF: .ASCIZ /LPT OFF
6792 /
6793 .EVEN
6794
6795 .ENDC ;.IF DF LPASB
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 191
SUB11 PAL[KL,SYS] Page 10 LINE PRINTER DRIVER
6796 ;OPERATOR INTERRUPT TYPEIN CHECKS
6797
6798 116546 005003 $PTTYC: CLR R3
6799 116550 005737 147764 TST $TTLKF ;INPUT CHECKS INHIBITED ?
6800 116554 001066 BNE 5$ ;YES
6801 116556 004737 120670 JSR PC,$TIRDY ;ANY OPERATOR ACTION ?
6802 116562 103463 BCS 5$ ;NO
6803 116564 113703 147744 MOVB $TICHR,R3
6804 116570 142703 000200 BICB #200,R3
6805 116574 010337 150024 MOV R3,$TNCHR
6806 116600 104176 TENCHR ;SEND CHAR TO TEN
6807 116602 122703 000003 CMPB #CNTRLC,R3 ;CONTROL C ?
6808 116606 001010 BNE 3$
6809 116610 104217 TTPINI ;FLUSH REST OF OUTPUT
6810 116612 005737 152214 TST PCMDFLG ;DOING PROGRAM COMMAND ?
6811 116616 001002 BNE 2$ ;YES
6812 116620 000137 120524 JMP $TICC ;CONTROL C, RETURN TO CONSOLE
6813
6814 116624 000137 101572 2$: JMP PCMDE2 ;PROGRAM COMMAND, RETURN TO CALLER
6815
6816 116630 122703 000017 3$: CMPB #CNTRLO,R3
6817 116634 001021 BNE 1$
6818 116636 005137 147770 COM CTRLOF ;CONTROL O, STOP OUTPUT
6819 116642 012703 116734 MOV #$PTCO,R3
6820 116646 004737 110742 10$: JSR PC,C10COP
6821 116652 004737 120776 JSR PC,$TORDY
6822 116656 103773 BCS 10$
6823 116660 112337 147742 MOVB (R3)+,$TOCHR
6824 116664 001002 BNE 90$
6825 116666 005003 CLR R3
6826 116670 000420 BR 5$
6827 116672 004737 121040 90$: JSR PC,$TOOUT
6828 116676 000763 BR 10$
6829 116700 122703 000014 1$: CMPB #CNTRLL,R3 ;CONTROL L, CHANGE LPT SELECTION
6830 116704 001005 BNE 4$
6831 116706 005737 157304 TST LPTFLG
6832 116712 100002 BPL 4$
6833 116714 105137 157304 COMB LPTFLG ;ONLY IF SELECTED
6834 116720 122703 000030 4$: CMPB #CNTRLX,R3 ;CONTROL X, CONSOLE COMMAND
6835 116724 001002 BNE 5$
6836 116726 000137 120570 JMP $TICX ;DO "TTILIN" & GO TO "$RPT"
6837 116732 000207 5$: RTS PC
6838
6839 116734 136
6840 116735 117
6841 116736 015
6842 116737 012 $PTCO: .ASCIZ /↑O
6843 116740 000
6844 /
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 192
SUB11 PAL[KL,SYS] Page 10.1 LINE PRINTER DRIVER
6845 116742 .EVEN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 193
SUB11 PAL[KL,SYS] Page 11 PRINT CRLF
6846 .SBTTL PRINT CRLF
6847
6848 $PCRLF: PMSG <\>
6849 116742 104025 $PMSG
6850 116744 146051 $$CLIT
6851 116746 000524 BR $$PEX
6852
6853 .SBTTL RING TTY BELL
6854
6855 116750 112700 000007 $PBELL: MOVB #BELL,R0
6856 116754 104152 PTTY ;DING THE BELL DIRECTLY
6857 116756 000520 BR $$PEX
6858
6859 .SBTTL PRINT SPECIFIED OCTAL DIGITS
6860
6861 116760 017701 030650 $PODT: MOV @$EMADR,R1 ;TRAILING PARAMETER
6862 116764 062766 000002 000012 ADD #2,12(SP)
6863
6864 116772 010102 $PNTODC:MOV R1,R2 ;SETUP DIGIT COUNT
6865 116774 003001 BGT 1$
6866 116776 104000 FATAL
6867 117000 020127 000006 1$: CMP R1,#6
6868 117004 003401 BLE 2$
6869 117006 104000 FATAL
6870 117010 012701 150006 2$: MOV #$TTSAV+2,R1
6871 117014 005011 CLR (R1) ;SETUP OCTAL NUMBER
6872 117016 010041 MOV R0,-(R1)
6873 117020 004737 117326 JSR PC,$PODMV ;SETUP PARAMETERS
6874 117024 005037 147754 CLR $0FLG ;NO SPACE FOLLOWING NUMBER
6875 117030 116203 117037 MOVB $PODCD-1(R2),R3 ;GET PRESET SHIFT COUNT
6876 117034 104146 PROL36 ;PRESET NUMBER
6877 117036 000453 BR $P23X ;GO PRINT NUMBER
6878
6879 117040 041
6880 117041 036
6881 117042 033
6882 117043 030
6883 117044 025
6884 117045 022 $PODCD: .BYTE 33.,30.,27.,24.,21.,18.
6885
6886 .SBTTL PRINT PDP-10 ADDRESS
6887
6888 ;PRINTS 23 BIT FORMAT IF ANY OF 13-17 ADDRESS BITS ARE SET.
6889 ;OTHERWISE PRINTS 18 BIT FORMAT.
6890
6891 117046 004737 117072 $PADR: JSR PC,$$P23
6892 117052 032761 000174 000004 BIT #174,4(R1) ;ANY OF 13-17 SET ?
6893 117060 001025 BNE $P23Y ;YES
6894 117062 012703 000006 MOV #6,R3
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 194
SUB11 PAL[KL,SYS] Page 11.1 PRINT PDP-10 ADDRESS
6895 117066 104146 PROL36 ;NO, DUMP HI-ORDER BITS
6896 117070 000434 BR $P18X ;PRINT 18 BITS
6897
6898 117072 004737 117306 $$P23: JSR PC,$P36MV
6899 117076 012703 000014 MOV #12.,R3
6900 117102 104146 PROL36 ;POSITION 23 BITS
6901 117104 042761 177600 000004 BIC #177600,4(R1) ;CLEAR UPPER JUNK BITS
6902 117112 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 195
SUB11 PAL[KL,SYS] Page 12 PRINT LOWER 18 BITS OF 36 BIT NUMBER
6903 .SBTTL PRINT LOWER 18 BITS OF 36 BIT NUMBER
6904
6905 117114 004737 117306 $PNT18: JSR PC,$P36MV
6906
6907 117120 012703 000022 MOV #18.,R3
6908 117124 104146 PROL36 ;SHIFT LOWER 18 BITS TO UPPER
6909 117126 000415 BR $P18X
6910
6911 .SBTTL PRINT LOWER 23 BITS OF 36 BIT NUMBER
6912
6913 117130 004737 117072 $PNT23: JSR PC,$$P23
6914
6915 117134 012702 000002 $P23Y: MOV #2,R2
6916 117140 005204 INC R4
6917 117142 000411 BR $P23X
6918
6919 .SBTTL PRINT 36 BIT NUMBER IN BINARY
6920
6921 117144 004737 117306 $P36B: JSR PC,$P36MV
6922 117150 005105 COM R5
6923 117152 000402 BR $P36BX
6924
6925 .SBTTL PRINT 36 BIT NUMBER
6926
6927 117154 004737 117306 $PNT36: JSR PC,$P36MV
6928 117160 005204 $P36BX: INC R4
6929 117162 $P18X=.
6930
6931 117162 012702 000006 2$: MOV #6,R2
6932 117166 $P23X=.
6933 117166 012703 000003 1$: MOV #3,R3
6934
6935 117172 104146 PROL36 ;ROTATE 3
6936 117174 004737 117224 JSR PC,$PRT36 ;PRINT OCTAL
6937
6938 117200 005302 DEC R2 ;FINISHED HALF WORD YET ?
6939 117202 001371 BNE 1$
6940
6941 117204 005737 147754 TST $0FLG
6942 117210 001401 BEQ 3$
6943 117212 104032 PSPACE
6944
6945 117214 005304 3$: DEC R4 ;FINISHED FULL WORD YET ?
6946 117216 100361 BPL 2$
6947
6948 $$PEX: EXIT
6949 117220 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 196
SUB11 PAL[KL,SYS] Page 13 PRINT 36 BIT NUMBER
6950 117224 016100 000004 $PRT36: MOV 4(R1),R0 ;GET THE WORD
6951 117230 000300 SWAB R0
6952 117232 005705 TST R5
6953 117234 001002 BNE 1$
6954 117236 104030 PNTNBR ;PRINT OCTAL
6955 117240 000207 RTS PC
6956
6957 1$: PUSH R4
6958 117244 010004 MOV R0,R4
6959 117246 012703 177776 MOV #177776,R3
6960 SR R0,2
6961 117256 040300 BIC R3,R0
6962 117260 104030 PNTNBR ;PRINT HI-BIT OF OCTAL
6963 117262 010400 MOV R4,R0
6964 SR R0,1
6965 117266 040300 BIC R3,R0
6966 117270 104030 PNTNBR ;PRINT MIDDLE-BIT OF OCTAL
6967 117272 010400 MOV R4,R0
6968 117274 040300 BIC R3,R0
6969 117276 104030 PNTNBR ;PRINT LO-BIT OF OCTAL
6970 117300 104032 PSPACE
6971 POP R4
6972 117304 000207 RTS PC
6973
6974 117306 012703 000006 $P36MV: MOV #6,R3 ;MOVE 6 BYTES
6975 117312 012702 150004 MOV #$TTSAV,R2 ;TO SETUP DATA
6976 117316 010201 MOV R2,R1
6977 117320 112022 1$: MOVB (R0)+,(R2)+
6978 117322 005303 DEC R3
6979 117324 001375 BNE 1$
6980 117326 005005 $PODMV: CLR R5
6981 117330 005004 CLR R4
6982 117332 012703 000004 MOV #4,R3
6983 117336 010337 147754 MOV R3,$0FLG ;SET SPACE FLAG
6984 117342 104146 PROL36 ;PRESET NUMBER
6985 117344 000207 RTS PC
6986
6987 117346 006111 $PROL36:ROL (R1)
6988 117350 006161 000002 ROL 2(R1)
6989 117354 006161 000004 ROL 4(R1)
6990 117360 005303 DEC R3
6991 117362 001371 BNE $PROL36
6992 117364 000715 BR $$PEX
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 197
SUB11 PAL[KL,SYS] Page 14 PRINT OCTAL
6993 .SBTTL PRINT OCTAL
6994
6995 117366 012704 777777 $PNTOCT:MOV #-1,R4 ;PRINT OCTAL
6996 117372 000401 BR $PNTO
6997
6998 .SBTTL PRINT OCTAL ZERO SUPRRESS
6999
7000 117374 005004 $PNTOSC:CLR R4 ;PRINT OCTAL ZERO SUPPRESS
7001 117376 012701 000006 $PNTO: MOV #6,R1 ;SET FOR 6 DIGITS
7002 117402 010002 MOV R0,R2 ;SAVE INPUT NUMBERS
7003 117404 005005 CLR R5 ;CLEAR THE ZERO FILL FLAG
7004 117406 005704 TST R4 ;ZERO SUPPRESS ?
7005 117410 001004 BNE 10$ ;NO
7006 117412 005700 TST R0 ;TEST FOR A ZERO INPUT NUMBER
7007 117414 001003 BNE 1$
7008 117416 005001 CLR R1 ;INPUT = 0 PRINT AND EXIT
7009 117420 000417 BR 5$
7010
7011 117422 005205 10$: INC R5
7012 117424 005000 1$: CLR R0
7013 117426 006102 ROL R2 ;MSD TO C BIT
7014 117430 000404 BR 3$
7015
7016 117432 006102 2$: ROL R2
7017 117434 006102 ROL R2
7018 117436 006102 ROL R2
7019 117440 010200 MOV R2,R0
7020 117442 006100 3$: ROL R0
7021
7022 117444 042700 177770 BIC #177770,R0 ;GET RID OF JUNK
7023 117450 001401 BEQ 4$
7024 117452 005205 INC R5 ;SET ZERO FILL FLAG
7025
7026 117454 005705 4$: TST R5 ;SUPPRESS ?
7027 117456 001401 BEQ 6$
7028 117460 104030 5$: PNTNBR ;PRINT DIGIT
7029 117462 005301 6$: DEC R1
7030 117464 003362 BGT 2$
7031
7032 117466 005704 TST R4
7033 117470 001401 BEQ 7$
7034 117472 104032 PSPACE ;SPACE UNLESS OCTAL SUPPRESS
7035 117474 000450 7$: BR $$PEX1
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 198
SUB11 PAL[KL,SYS] Page 15 CONVERT BINARY TO DECIMAL AND TYPE ROUTINE
7036 .SBTTL CONVERT BINARY TO DECIMAL AND TYPE ROUTINE
7037
7038 117476 012701 000005 $PNTDEC:MOV #5,R1 ;SET FOR 5 DIGIT
7039 117502 010002 MOV R0,R2 ;SAVE INPUT NUMBER
7040 117504 005005 CLR R5 ;CLEAR ZERO FILL FLAG
7041 117506 005700 TST R0 ;TEST SIGN OF INPUT NUMBER
7042 117510 100007 BPL 1$ ;POSITIVE GO TYPE IT
7043 117512 112700 000055 MOVB #'-,R0 ;PRINT A MINUS SIGN
7044 117516 104027 PNTCHR ;SEND TO BUFFER
7045 117520 005402 NEG R2 ;NEGATE THE NUMBER
7046 117522 010200 MOV R2,R0 ;GET NUMBER AGAIN
7047 117524 042700 100000 BIC #100000,R0 ;CLEAR SIGN BIT
7048 117530 005700 1$: TST R0 ;TEST FOR A ZERO INPUT NUMBER
7049 117532 001002 BNE 2$ ;NON ZERO
7050 117534 104030 PNTNBR ;PRINT A SINGLE ZERO AND EXIT
7051 117536 000425 BR 9$ ;EXIT
7052 117540 005003 2$: CLR R3 ;ZERO THE CONSTANTS INDEX
7053 117542 005000 3$: CLR R0 ;CLEAR THE BCD NUMBER
7054 117544 166302 144672 4$: SUB $DTBL(R3),R2 ;FORM THIS BCD DIGIT
7055 117550 002402 BLT 5$ ;BR IF DONE
7056 117552 005200 INC R0 ;INCREASE THE BCD DIGIT BY 1
7057 117554 000773 BR 4$
7058 117556 066302 144672 5$: ADD $DTBL(R3),R2 ;ADD BACK THE CONSTANT
7059 117562 005700 TST R0 ;TEST IF DIGIT IS A ZERO
7060 117564 001402 BEQ 6$ ;YES
7061 117566 005205 INC R5 ;NO SET ZERO FILL FLAG
7062 117570 000402 BR 7$
7063
7064 117572 005705 6$: TST R5 ;IS ZERO FILL FLAG SET
7065 117574 001403 BEQ 8$ ;YES EXIT
7066 117576 052700 000060 7$: BIS #'0,R0 ;MAKE THE BCD DIGIT ASCII
7067 117602 104027 PNTCHR
7068 117604 005723 8$: TST (R3)+ ;JUST INCREMENTING
7069 117606 005301 DEC R1 ;DONE YET
7070 117610 003354 BGT 3$ ;GO DO THE NEXT DIGIT
7071 117612 104214 9$: PNTCI
7072 117614 000056 '. ;PRINT DECIMAL POINT
7073 $$PEX1: EXIT ;RETURN TO USER
7074 117616 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 199
SUB11 PAL[KL,SYS] Page 16 TTY INPUT ROUTINE TTICHR
7075 .SBTTL TTY INPUT ROUTINE TTICHR
7076
7077 117622 005000 $TTICHR:CLR R0
7078 117624 023737 150716 150720 CMP $INPTC,$INPTR ;ARE WE AT END ON CURRENT BUFFER
7079 117632 003007 BGT $TTIX2 ;YES EXIT
7080 117634 117700 031056 MOVB @$INPTC,R0 ;FETCH CHARACTER FROM BUFFER
7081 117640 005237 150716 INC $INPTC
7082
7083 117644 042700 177600 $TTIX1: BIC #177600,R0
7084 117650 000431 BR $$PSX2 ;OK RETURN
7085 117652 000426 $TTIX2: BR $$PEX2 ;ERROR RETURN
7086
7087 .SBTTL TTY LOOK
7088
7089 ;*TELETYPE KEYBOARD CHECK ROUTINE
7090 ;*CHECKS FOR ANY KEY STRUCK,RETURNS IMMEDIATELY
7091 ;*RETURNS WITH C-BIT SET IF NO TYPEIN
7092
7093 117654 005237 147764 $TTLOOK:INC $TTLKF ;SET INHIBIT INPUT CHECKS
7094 117660 005000 CLR R0
7095 117662 004737 120670 JSR PC,$TIRDY ;ANYTHING BEEN TYPED
7096 117666 103771 BCS $TTIX2 ;NO, C-BIT RETURN
7097 117670 113700 147744 MOVB $TICHR,R0 ;YES, PUT IT IN R0
7098 117674 005037 147764 CLR $TTLKF ;CLEAR INHIBIT INPUT CHECKS
7099 117700 000761 BR $TTIX1 ;RETURN
7100
7101 .SBTTL TTY ALT-MODE CHECK ROUTINE
7102
7103 ;*CHECK FOR ALT-MODE IF NOTHING TYPED OR NOT ALTMODE C-BIT SET
7104 ;*IF ALT-MODE WAS TYPED THEN C-BIT CLEAR
7105
7106 117702 104006 $TTALTM:TTLOOK ;ANYTHING TYPED
7107 117704 103411 BCS 2$ ;NO
7108
7109 117706 120027 000175 CMPB R0,#175
7110 117712 001412 BEQ 3$
7111 117714 120027 000176 CMPB R0,#176
7112 117720 001407 BEQ 3$
7113 117722 120027 000033 CMPB R0,#ALTMOD
7114 117726 001402 BEQ 1$
7115
7116 117730 $$PEX2=.
7117 2$: EXITERR ;EXIT
7118 117730 000137 124036 JMP $EXITE
7119 117734 $$PSX2=.
7120 1$: EXIT ;OK RETURN
7121 117734 000137 124064 JMP $EXIT
7122
7123 117740 112700 000033 3$: MOVB #ALTMOD,R0
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 200
SUB11 PAL[KL,SYS] Page 16.1 TTY ALT-MODE CHECK ROUTINE
7124 117744 000773 BR 1$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 201
SUB11 PAL[KL,SYS] Page 17 TTIYES YES OR NO ROUTINE
7125 .SBTTL TTIYES YES OR NO ROUTINE
7126
7127 ; NO BITS SET IF YES
7128 ; N-BIT SET IF NO
7129 ; C-BIT SET IF NEITHER
7130
7131 117746 104005 $TTIYES:TTICHR ;GET INPUT CHARACTER
7132 117750 103767 BCS $$PEX2 ;NO CHAR AVAILABLE
7133 117752 122700 000131 CMPB #'Y,R0 ;WAS THE CHAR A "Y" ?
7134 117756 001766 BEQ $$PSX2 ;BR IF YES
7135 117760 122700 000116 CMPB #'N,R0 ;WAS THE CHAR AN "N" ?
7136 117764 001361 BNE $$PEX2 ;BR IF NO, NEITHER
7137 117766 052766 000010 000014 BIS #NBIT,14(SP) ;"NO", SET N-BIT
7138 117774 000757 BR $$PSX2
7139
7140 .SBTTL PRINT A SELECTED NUMBER OF SPACES
7141
7142 117776 005301 $PNTSPC:DEC R1
7143 120000 002402 BLT 1$
7144
7145 120002 104032 PSPACE ;PRINT SPACE
7146 120004 000774 BR $PNTSPC
7147
7148 120006 000207 1$: RTS PC
7149
7150 .SBTTL BACKUP TTY INPUT BUFFER POINTER
7151
7152 120010 023727 150716 150500 $TTBACK:CMP $INPTC,#$INBUF
7153 120016 003744 BLE $$PEX2 ;CAN'T, C-BIT SET RETURN
7154 120020 005337 150716 DEC $INPTC ;BACKUP POINTER
7155 120024 000743 BR $$PSX2
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 202
SUB11 PAL[KL,SYS] Page 18 READ SWITCH REGISTER
7156 .SBTTL READ SWITCH REGISTER
7157
7158 120026 013700 177570 $SWITCH:MOV SWR,R0 ;PUT SWR INTO R0
7159
7160 120032 010037 147632 1$: MOV R0,$SWTCH ;SAVE A COPY FOR FUTURE REFERENCE
7161 120036 000410 BR $$PEX3 ;RETURN TO USER
7162
7163 .SBTTL RETURN WITH COPY OF SWITCHES
7164
7165 120040 013700 147632 $SWTSAM:MOV $SWTCH,R0 ;COPY OF SWITCHES TO RO
7166 120044 000405 BR $$PEX3
7167
7168 .SBTTL SET FORCE PRINT FLAG
7169
7170 120046 104055 $PFORCE:SETFLG
7171 120050 147760 $FORCE ;177777 TO FORCE FLAG
7172 120052 000402 BR $$PEX3 ;RETURN
7173
7174
7175 .SBTTL CLEAR FORCE PRINT FLAG
7176
7177 120054 005037 147760 $PNORML:CLR $FORCE ;0 TO FORCE FLAG
7178 $$PEX3: EXIT ;RETURN
7179 120060 000137 124064 JMP $EXIT
7180
7181 ;TTILIN ENTRY POINT FROM RUNLP
7182
7183 120064 005037 147762 $TILRN: CLR TILNWF ;CLEAR TTY WAIT FLAG
7184 120070 004737 120106 JSR PC,$TILN3 ;INIT TTILIN ROUTINE
7185 PUSH $FORCE
7186 120100 012701 150500 MOV #$INBUF,R1
7187 120104 000446 BR $TILN2 ;GO INPUT, 1ST CHAR ALREADY AVAILABLE
7188
7189 120106 005037 147770 $TILN3: CLR CTRLOF ;CLEAR CONTROL O FLAG
7190 120112 022737 150254 150474 CMP #$OUTBF,$OUTPT ;ANY OUTPUT WAITING ?
7191 120120 001401 BEQ 1$ ;NO
7192 120122 104151 PRINTT ;YES, PRINT IT
7193 120124 005037 147774 1$: CLR $TPLIT ;CLEAR LINES ON PAGE
7194 120130 005037 147754 CLR $0FLG ;CLEAR RUBOUT FLAG
7195 120134 005037 147662 CLR $TTYTIM ;CLEAR TTY TIMEOUT
7196 120140 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 203
SUB11 PAL[KL,SYS] Page 19 INPUT A STRING FROM TTY
7197 .SBTTL INPUT A STRING FROM TTY
7198
7199 120142 104055 $TTILNW:SETFLG ;SET TTY WAIT FLAG
7200 120144 147762 TILNWF
7201 120146 000402 BR $TILNX
7202
7203 120150 005037 147762 $TTILIN:CLR TILNWF ;CLEAR TTY WAIT FLAG
7204
7205 120154 004737 120106 $TILNX: JSR PC,$TILN3 ;INIT ROUTINE
7206 PUSH $FORCE
7207 120164 104043 PFORCE
7208 120166 012701 150500 95$: MOV #$INBUF,R1
7209 120172 $TILN1=.
7210 120172 004737 110742 2$: JSR PC,C10COP ;PERFORM CLOCK OPERATIONS
7211 120176 005737 147762 TST TILNWF ;WAIT FOREVER ?
7212 120202 001004 BNE 21$ ;YES, NO TIMEOUT
7213 120204 023727 147662 025060 CMP $TTYTIM,#<3*60.*60.>;TTY TIMED OUT ?
7214 120212 003062 BGT 99$ ;YES, C-BIT SET EXIT
7215
7216 120214 004737 120670 21$: JSR PC,$TIRDY ;TTY IN FLAG SET
7217 120220 103764 BCS 2$
7218 120222 $TILN2=.
7219 120222 005037 147662 CLR $TTYTIM
7220 120226 113711 147744 MOVB $TICHR,(R1) ;MOVE CHARACTER TO BUFFER
7221 120232 142711 000200 BICB #200,(R1)
7222 120236 111137 150024 MOVB (R1),$TNCHR ;SAVE CHAR FOR TEN
7223 120242 001753 BEQ 2$ ;NULL, IGNORE
7224 120244 104176 TENCHR ;SEND TEN THE CHAR
7225
7226 120246 005005 CLR R5 ;DO SPECIAL CHAR PROCESS
7227 120250 121165 120612 80$: CMPB (R1),TILINC(R5)
7228 120254 001405 BEQ 81$ ;FOUND
7229 120256 005205 INC R5
7230 120260 105765 120612 TSTB TILINC(R5)
7231 120264 001404 BEQ 82$ ;IF 0, END OF LIST
7232 120266 000770 BR 80$
7233
7234 81$: SL R5,1 ;DISPATCH
7235 120272 000175 120632 JMP @TILINA(R5)
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 204
SUB11 PAL[KL,SYS] Page 20 INPUT A STRING FROM TTY
7236 120276 121127 000141 82$: CMPB (R1),#141
7237 120302 002405 BLT 83$
7238 120304 121127 000172 CMPB (R1),#172
7239 120310 003002 BGT 83$
7240 120312 142711 000040 BICB #40,(R1) ;CONVERT LOWER TO UPPER CASE
7241
7242 83$: PUSH R1
7243 120320 111101 MOVB (R1),R1 ;PUT CHAR IN R1
7244 120322 104154 PLDBUF ;INSERT FOR LPT
7245 120324 005237 150472 INC $OUTPP ;MOVE PRINTED-TO-POSITION
7246 POP R1
7247
7248 120332 005737 147754 10$: TST $0FLG ;RUBOUT KEY SET?
7249 120336 001405 BEQ 11$ ;BR IF NO
7250
7251 120340 112700 000134 MOVB #BKSLH,R0 ;TYPE A BACK SLASH
7252 120344 104152 PTTY
7253 120346 005037 147754 CLR $0FLG ;CLEAR RUBOUT FLAG
7254
7255 120352 112100 11$: MOVB (R1)+,R0 ;CHAR TO R0
7256 120354 104152 PTTY ;PRINT IT
7257 120356 000705 BR 2$ ;BACK FOR MORE
7258
7259 120360 010137 150720 99$: MOV R1,$INPTR ;SAVE INPUT POINTER
7260 POP $FORCE
7261 EXITERR ;TIMED OUT, C-BIT SET RETURN
7262 120370 000137 124036 JMP $EXITE
7263
7264 120374 005737 147754 $TIRUB: TST $0FLG ;MULTIPLE RUBOUTS ?
7265 120400 001005 BNE 1$ ;YES
7266 120402 005237 147754 INC $0FLG ;SET RUBOUT FLAG
7267 120406 112700 000134 MOVB #BKSLH,R0 ;TYPE A BACKSLASH
7268 120412 104152 PTTY
7269
7270 120414 005301 1$: DEC R1 ;BACKUP BY ONE
7271 120416 020127 150477 CMP R1,#$INBUF-1 ;INPUT BUFFER EMPTY ?
7272 120422 001004 BNE 2$ ;NO
7273
7274 120424 104031 PCRLF ;EMPTY, PRINT CR/LF
7275 POP $FORCE
7276 120432 000650 BR $TILNX ;AWAIT NEW LINE
7277
7278 120434 111100 2$: MOVB (R1),R0 ;PRINT RUBBED OUT CHAR
7279 120436 104152 PTTY
7280 120440 000654 BR $TILN1
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 205
SUB11 PAL[KL,SYS] Page 21 INPUT A STRING FROM TTY
7281 ;SPECIAL CHAR PROCESS
7282
7283 $TICU: PMSG <↑U\> ;CONTROL U, DUMP LINE
7284 120442 104025 $PMSG
7285 120444 146053 $$CLIT
7286 POP $FORCE
7287 120452 000640 BR $TILNX
7288
7289 120454 005201 $TICR: INC R1 ;CARRIAGE RETURN
7290 120456 112711 000012 MOVB #LF,(R1) ;INSERT LF ALSO
7291
7292 120462 104031 $TIBELL:PCRLF ;PRINT CR/LF
7293
7294 120464 010137 150720 $TIEXT: MOV R1,$INPTR ;UPDATE INPUT POINTER
7295 120470 012737 150500 150716 MOV #$INBUF,$INPTC ;INIT CHAR POINTER
7296 POP $FORCE
7297 EXIT ;RETURN
7298 120502 000137 124064 JMP $EXIT
7299
7300 120506 112711 000033 $TIALT: MOVB #ALTMOD,(R1) ;ALTMODE
7301 PMSG <$\> ;PRINT DOLLAR SIGN CR/LF
7302 120512 104025 $PMSG
7303 120514 146057 $$CLIT
7304 120516 000762 BR $TIEXT
7305
7306 120520 104031 $TIBKS: PCRLF ;BACKSLASH, DO LOCAL CR/LF
7307 120522 000623 BR $TILN1
7308
7309
7310 120524 104214 $TICC: PNTCI ;CONTROL C, ABORT
7311 120526 041536 "↑C
7312 120530 000137 100004 JMP $CNTLC
7313
7314 120534 005737 157304 $TICL: TST LPTFLG ;CONTROL L, LPT SELECTION
7315 120540 100214 BPL $TILN1
7316 120542 105137 157304 COMB LPTFLG
7317 120546 000611 BR $TILN1
7318
7319 120550 111100 $TILF: MOVB (R1),R0 ;LINE FEED
7320 120552 104152 PTTY
7321 120554 000743 BR $TIEXT
7322
7323 120556 005037 147770 $TICO: CLR CTRLOF ;CLEAR CONTROL O FLAG
7324 120562 104214 PNTCI
7325 120564 047536 "↑O
7326 120566 000735 BR $TIBELL ;CR/LF & TERMINATE
7327
7328 120570 104217 $TICX: TTPINI
7329 120572 104214 PNTCI
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 206
SUB11 PAL[KL,SYS] Page 21.1 INPUT A STRING FROM TTY
7330 120574 054136 "↑X
7331 120576 104004 TTILIN ;GET COMMAND LINE
7332 120600 103751 BCS $TICC ;TIMED OUT
7333 120602 013706 147736 MOV $KONSP,SP ;RESTORE STACK POINTER
7334 120606 000137 100456 JMP $RPT ;GO PROCESS COMMAND
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 207
SUB11 PAL[KL,SYS] Page 22 INPUT A STRING FROM TTY
7335 ;SPECIAL CHARACTERS
7336
7337 120612 015
7338 120613 012 TILINC: .BYTE CR,LF
7339 120614 007
7340 120615 033 .BYTE BELL,ALTMOD
7341 120616 175
7342 120617 176 .BYTE 175,176
7343 120620 014
7344 120621 025 .BYTE CNTRLL,CNTRLU
7345 120622 003
7346 120623 134 .BYTE CNTRLC,BKSLH
7347 120624 177
7348 120625 017 .BYTE RUBOUT,CNTRLO
7349 120626 021
7350 120627 023 .BYTE XON,XOFF
7351 120630 030
7352 120631 000 .BYTE CNTRLX,0
7353
7354 ;SPECIAL CHAR DISPATCH TABLE
7355
7356 120632 120454 TILINA: $TICR
7357 120634 120550 $TILF
7358 120636 120462 $TIBELL
7359 120640 120506 $TIALT
7360 120642 120506 $TIALT
7361 120644 120506 $TIALT
7362 120646 120534 $TICL
7363 120650 120442 $TICU
7364 120652 120524 $TICC
7365 120654 120520 $TIBKS
7366 120656 120374 $TIRUB
7367 120660 120556 $TICO
7368 120662 120462 $TIBELL
7369 120664 120462 $TIBELL
7370 120666 120570 $TICX
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 208
SUB11 PAL[KL,SYS] Page 23 CTY & FSTTY DL11 DRIVERS
7371 .SBTTL CTY & FSTTY DL11 DRIVERS
7372
7373 120670 105777 757124 $TIRDY: TSTB @$TKS ;ANY CTY INPUT ?
7374 120674 100020 BPL 2$ ;NO
7375 120676 032777 020000 757116 BIT #20000,@$TKB ;YES. BREAK?
7376 120704 001010 BNE 5$ ;BRANCH IF YES
7377 120706 117737 757110 147744 MOVB @$TKB,$TICHR ;GET CHAR
7378 120714 142737 000200 147744 1$: BICB #200,$TICHR ;CLEAR PARITY BIT
7379 120722 000241 CLC ;C-BIT CLEAR RETURN
7380 120724 000207 RTS PC
7381
7382 120726 112737 000030 147744 5$: MOVB #MSWCHR,$TICHR ;BREAK SEEN.
7383 120734 000767 BR 1$
7384
7385 2$:
7386 .IF NDF TELASB
7387 TST DL11EFLG ;DOING DL11E ?
7388 BEQ 3$ ;NO
7389 BIT #DLCTS,@$FSTKS ;YES, STILL HAVE CLEAR TO SEND ?
7390 BEQ 4$ ;NO
7391 .IFF
7392 120736 005737 152236 TST FSFLG ;DOING DL11E?
7393 120742 001413 BEQ 3$ ;NO
7394 120744 032777 020000 757056 BIT #DLCTS,@$FSTKS ;STILL HAVE CLEAR TO SEND?
7395 120752 001407 BEQ 3$ ;NO
7396 .ENDC
7397 120754 105777 757050 TSTB @$FSTKS ;ANY FSTTY INPUT ?
7398 120760 100004 BPL 3$ ;NO
7399 120762 117737 757044 147744 MOVB @$FSTKB,$TICHR ;YES, GET CHAR
7400 120770 000751 BR 1$ ;C-BIT CLEAR RETURN
7401
7402 120772 000261 3$: SEC ;NO INPUT, C-BIT SET RETURN
7403 120774 000207 RTS PC
7404
7405 .LIF NDF TELASB
7406 4$: JMP FSDISC ;DL11E DISCONNECT
7407
7408 120776 105777 757022 $TORDY: TSTB @$TPS ;IS CTY READY ?
7409 121002 100014 BPL 2$ ;NO
7410 .IF NDF TELASB
7411 TST DL11EFLG ;DOING DL11E ?
7412 BEQ 1$ ;NO
7413 BIT #DLCTS,@$FSTKS ;STILL HAVE CLEAR TO SEND ?
7414 BEQ 3$ ;NO
7415 .IFF
7416 121004 005737 152236 TST FSFLG
7417 121010 001407 BEQ 1$
7418 121012 032777 020000 757010 BIT #DLCTS,@$FSTKS ;STILL HAVE CLEAR TO SEND?
7419 121020 001403 BEQ 1$ ;NO
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 209
SUB11 PAL[KL,SYS] Page 23.1 CTY & FSTTY DL11 DRIVERS
7420 .ENDC
7421 121022 105777 757006 TSTB @$FSTPS ;IS FSTTY READY ?
7422 121026 100002 BPL 2$ ;NO
7423
7424 121030 000241 1$: CLC ;ALL READY, C-BIT CLEAR RETURN
7425 121032 000207 RTS PC
7426
7427 121034 000261 2$: SEC ;NOT READY
7428 121036 000207 RTS PC
7429
7430 .LIF NDF TELASB
7431 3$: JMP FSDISC ;DL11E DISCONNECT
7432
7433 121040 113777 147742 756760 $TOOUT: MOVB $TOCHR,@$TPB ;PRINT ON CTY
7434
7435 .IF NDF TELASB
7436 TST DL11EFLG
7437 BEQ 1$
7438 .IFF
7439 121046 005737 152236 TST FSFLG
7440 121052 001407 BEQ 1$
7441 121054 032777 020000 756746 BIT #DLCTS,@$FSTKS ;STILL HAVE CLEAR TO SEND
7442 121062 001403 BEQ 1$
7443 .ENDC
7444 121064 113777 147742 756744 MOVB $TOCHR,@$FSTPB ;PRINT ON FSTTY
7445 121072 000207 1$: RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 210
SUB11 PAL[KL,SYS] Page 24 READ AN OCTAL NUMBER FROM THE TTY
7446 .SBTTL READ AN OCTAL NUMBER FROM THE TTY
7447
7448 ;REGISTER USAGE
7449 ;R0 = TTY CHARACTER 7 BIT FROM $INBUF
7450 ;R2 = WORK REGISTER
7451 ;R3 = CLEARED/SET = NO OCTAL CHARS/AT LEAST 1 OCTAL CHAR
7452
7453 121074 005002 $TTIOCT:CLR R2 ;CLEAR WORK REGISTER
7454 121076 004737 121170 JSR PC,$TMINUS ;CHECK FOR PLUS & MINUS
7455 121102 104005 1$: TTICHR ;PICKUP THIS CHARACTER
7456 121104 103416 BCS 2$
7457
7458 121106 120027 000060 CMPB R0,#60 ;MAKE SURE THIS CHARACTER
7459 121112 002413 BLT 2$ ;IS AN OCTAL DIGIT
7460 121114 120027 000067 CMPB R0,#67
7461 121120 003010 BGT 2$
7462
7463 121122 005203 INC R3 ;TO SHOW I GOT ONE CHARACTER
7464
7465 121124 006302 ASL R2
7466 121126 006302 ASL R2
7467 121130 006302 ASL R2
7468
7469 121132 042700 177770 BIC #177770,R0
7470 121136 060002 ADD R0,R2
7471 121140 000760 BR 1$
7472
7473 121142 005000 2$: CLR R0 ;SET UP FOR EXIT
7474
7475 121144 005703 TST R3 ;DID WE GET ANY DATA
7476 121146 001406 BEQ $$PEX7 ;NO, ERROR RETURN
7477
7478 121150 010200 MOV R2,R0
7479 121152 005704 TST R4 ;NEGATE FLAG SET ?
7480 121154 001401 BEQ $$PEX6 ;NO
7481 121156 005400 NEG R0 ;YES, MAKE NUMBER NEGATIVE
7482 121160 000137 122340 $$PEX6: JMP $TTERM ;VERIFY TERMINATION & EXIT
7483 $$PEX7: EXITERR ;ERROR RETURN
7484 121164 000137 124036 JMP $EXITE
7485
7486 121170 005003 $TMINUS:CLR R3 ;CLEAR CHAR COUNTER
7487 121172 005004 CLR R4 ;CLEAR NEGATE FLAG
7488 121174 013705 150716 MOV $INPTC,R5 ;SAVE INPUT POINTER
7489 121200 104005 TTICHR ;GET 1ST CHAR
7490 121202 103412 BCS 82$ ;NONE AVAILABLE
7491 121204 122700 000053 CMPB #'+,R0
7492 121210 001404 BEQ 80$
7493 121212 122700 000055 CMPB #'-,R0 ;NEGATE ?
7494 121216 001002 BNE 81$ ;BR IF NO
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 211
SUB11 PAL[KL,SYS] Page 24.1 READ AN OCTAL NUMBER FROM THE TTY
7495 121220 005204 INC R4 ;YES, SET NEGATE FLAG
7496 121222 005205 80$: INC R5 ;YES, ADVANCE PAST -
7497 121224 010537 150716 81$: MOV R5,$INPTC
7498 121230 000207 82$: RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 212
SUB11 PAL[KL,SYS] Page 25 READ A DECIMAL NUMBER FROM THE TTY
7499 .SBTTL READ A DECIMAL NUMBER FROM THE TTY
7500
7501 121232 012702 150004 $TTIDEC:MOV #$TTSAV,R2 ;RESERVE STORAGE
7502 121236 004737 121170 JSR PC,$TMINUS ;CHECK FOR PLUS & MINUS
7503 121242 104005 1$: TTICHR ;READ IN A CHARACTER
7504 121244 103413 BCS 2$
7505 121246 120027 000060 CMPB R0,#60 ;MAKE SURE THIS CHARACTER
7506 121252 002410 BLT 2$ ;IS A DIGIT BETWEEN 0 & 9
7507 121254 120027 000071 CMPB R0,#71
7508 121260 003005 BGT 2$
7509 121262 005203 INC R3 ;SO I KNOW I GOT A DIGIT
7510 121264 042700 177760 BIC #177760,R0 ;DON'T LET NUMBER GET TO BIG
7511 121270 110022 MOVB R0,(R2)+
7512 121272 000763 BR 1$
7513 121274 005000 2$: CLR R0 ;CLEAR OUTPUT
7514 121276 005703 TST R3 ;DID WE GET ANY THING
7515 121300 001420 BEQ 6$ ;NO
7516
7517 ;NOW WE CONVERT IT
7518
7519 121302 005001 CLR R1 ;CLEAR TABLE INDEX
7520 121304 020227 150004 3$: CMP R2,#$TTSAV
7521 121310 002410 BLT 5$ ;YES NORMAL EXIT
7522 121312 114205 MOVB -(R2),R5 ;PUT IN R5
7523 121314 005305 4$: DEC R5 ;DONE YET
7524 121316 002403 BLT 7$
7525 121320 066100 144704 ADD $TBLL(R1),R0 ;TALLY IT UP
7526 121324 000773 BR 4$
7527 121326 005721 7$: TST (R1)+ ;UPDATE TABLE TALLY
7528 121330 000765 BR 3$
7529 121332 005704 5$: TST R4 ;NEGATE NUMBER ?
7530 121334 001401 BEQ 9$
7531 121336 005400 NEG R0 ;YES
7532 121340 000707 9$: BR $$PEX6 ;RETURN
7533 121342 000710 6$: BR $$PEX7 ;ERROR RETURN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 213
SUB11 PAL[KL,SYS] Page 26 READ A 12 DIGIT OCTAL (36 BIT) NUMBER
7534 .SBTTL READ A 12 DIGIT OCTAL (36 BIT) NUMBER
7535
7536 ;$0FLG, 0=NO DATA; 0,-1=ONE DATA WORD; -1,-1= TWO PART DATA
7537 ;DATA IS TRUNCATED TO 6 OCTALS IN EITHER HALF OF 2 PART DATA
7538 ;DATA IS TRUNCATED TO 12 OCTALS IN 1 PART DATA
7539 ;DURING CONVERSION
7540 ;1 PART DATA; $0FLG =0
7541 ;2 PART DATA; $0FLG=-1,0 DURING HI6; 0,-1 DURING LO6
7542
7543 121344 004737 122044 $TTI36: JSR PC,$TI36C
7544 121350 005037 147750 CLR $SVH
7545 121354 005037 147746 CLR $SVM
7546 121360 005037 147754 CLR $0FLG
7547 121364 005037 147752 CLR $NEG
7548 121370 004737 121170 JSR PC,$TMINUS
7549 121374 005704 TST R4
7550 121376 001402 BEQ 1$
7551 121400 105237 147753 INCB $NEG+1 ;SET NEGATE FLAG
7552
7553 121404 104005 1$: TTICHR ;READ A CHAR
7554 121406 103424 99$: BCS 98$ ;BUFFER EMPTY
7555
7556 121410 120027 000060 CMPB R0,#60 ;MAKE SURE ITS OCTAL
7557 121414 002407 BLT 2$
7558 121416 120027 000067 CMPB R0,#67
7559 121422 003004 BGT 2$
7560
7561 121424 112737 777777 147754 MOVB #-1,$0FLG ;WE GOT AT LEAST 1 DIGIT
7562 121432 000764 BR 1$
7563
7564 121434 105737 147754 2$: TSTB $0FLG
7565 121440 001546 BEQ 69$
7566 121442 120027 000040 CMPB R0,#BLANK ;WAS IT A SPACE ?
7567 121446 001021 BNE 3$ ;NOPE
7568 121450 112737 777777 147755 MOVB #-1,$0FLG+1 ;SET 2 WORD FLAG
7569 121456 104005 TTICHR ;GET 1ST CHAR OF 2ND PART
7570 121460 103421 98$: BCS 97$
7571 121462 122700 000053 CMPB #'+,R0
7572 121466 001410 BEQ 71$
7573 121470 122700 000055 CMPB #'-,R0 ;IS IT MINUS ?
7574 121474 001403 BEQ 21$ ;YES
7575 121476 005337 150716 DEC $INPTC ;NO, BACKUP INPUT POINTER
7576 121502 000740 BR 1$
7577 121504 105237 147752 21$: INCB $NEG ;SET 2ND PART NEGATE FLAG
7578 121510 000735 71$: BR 1$ ;PROCESS 2ND HALF WORD
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 214
SUB11 PAL[KL,SYS] Page 27 READ A 12 DIGIT OCTAL (36 BIT) NUMBER
7579 121512 010537 150716 3$: MOV R5,$INPTC ;RESET INPUT POINTER
7580 121516 105037 147754 CLRB $0FLG
7581
7582 121522 104005 4$: TTICHR
7583 121524 103444 97$: BCS 96$
7584 121526 120027 000060 CMPB R0,#60
7585 121532 002414 BLT 5$
7586 121534 120027 000067 CMPB R0,#67
7587 121540 003011 BGT 5$
7588
7589 121542 142700 000370 BICB #370,R0
7590 121546 012701 000003 MOV #3,R1
7591
7592 121552 004737 121766 6$: JSR PC,SHFT36 ;SHIFT 36 BIT WORD LEFT 3
7593
7594 121556 150037 147462 BISB R0,$DRAM ;INSERT NEW CHAR
7595 121562 000757 BR 4$
7596
7597 121564 105737 147755 5$: TSTB $0FLG+1 ;DOING 2 PART NUMBER ?
7598 121570 001434 BEQ 8$ ;BR IF NO
7599
7600 121572 105737 147753 51$: TSTB $NEG+1 ;NEGATE UPPER PART ?
7601 121576 001402 BEQ 52$ ;NO
7602
7603 121600 004737 122010 JSR PC,NEG36 ;NEGATE 36 BIT WORD
7604
7605 121604 012701 000022 52$: MOV #18.,R1 ;YES, MOVE NUMBER TO UPPER 18 BITS
7606
7607 121610 004737 121766 7$: JSR PC,SHFT36 ;SHIFT 36 BIT WORD LEFT 18
7608
7609 121614 014537 147750 MOV -(R5),$SVH ;SAVE UPPER BITS
7610 121620 014537 147746 MOV -(R5),$SVM ;SAVE MIDDLE BITS
7611 121624 004737 122044 JSR PC,$TI36C
7612
7613 121630 000337 147754 SWAB $0FLG ;MAKE $0FLG 0,-1
7614 121634 104005 TTICHR ;GET 1ST CHAR OF 2ND PART
7615 121636 103450 96$: BCS 9$
7616 121640 122700 000053 CMPB #'+,R0
7617 121644 001726 BEQ 4$
7618 121646 122700 000055 CMPB #'-,R0 ;IS IT MINUS ?
7619 121652 001723 BEQ 4$ ;YES
7620 121654 005337 150716 DEC $INPTC ;NO, BACKUP INPUT POINTER
7621 121660 000720 BR 4$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 215
SUB11 PAL[KL,SYS] Page 28 READ A 12 DIGIT OCTAL (36 BIT) NUMBER
7622 121662 105737 147754 8$: TSTB $0FLG
7623 121666 001417 BEQ 10$ ;BR IF 1 PART
7624 121670 105737 147752 TSTB $NEG ;NEGATE LOWER PART ?
7625 121674 001402 BEQ 81$ ;NO
7626
7627 121676 004737 122010 JSR PC,NEG36 ;NEGATE 36 BIT WORD
7628
7629 121702 012701 147464 81$: MOV #$DRAM+2,R1
7630 121706 042711 177774 BIC #177774,(R1)
7631 121712 053721 147746 BIS $SVM,(R1)+
7632 121716 005011 CLR (R1) ;CLEAR BITS 0-17
7633 121720 053711 147750 BIS $SVH,(R1) ;REINSERT UPPER BITS
7634 121724 000405 BR 12$
7635
7636 121726 105737 147753 10$: TSTB $NEG+1 ;MAKE NUMBER NEGATIVE ?
7637 121732 001402 BEQ 12$ ;BR IF NO
7638 121734 004737 122010 JSR PC,NEG36 ;NEGATE 36 BIT WORD
7639
7640 121740 042737 177760 147466 12$: BIC #177760,$DRAM+4 ;STRIP OVERFLOW
7641 121746 012700 147462 MOV #$DRAM,R0 ;RETURN STORAGE ADR IN R0
7642 121752 000137 122340 JMP $TTERM ;VERIFY TERMINATION & EXIT
7643 121756 005000 69$: CLR R0 ;NO DIGITS TYPED
7644 121760 104201 9$: TTERM ;VERIFY TERMINATION
7645 EXITERR ;ERROR RETURN
7646 121762 000137 124036 JMP $EXITE
7647
7648 ;SHIFT 36 BIT WORD C(R1) PLACES LEFT
7649
7650 121766 012705 147462 SHFT36: MOV #$DRAM,R5
7651 121772 000241 CLC
7652 121774 006125 ROL (R5)+
7653 121776 006125 ROL (R5)+
7654 122000 006125 ROL (R5)+
7655 122002 005301 DEC R1
7656 122004 003370 BGT SHFT36
7657 122006 000207 RTS PC
7658
7659 ;NEGATE - TWO'S COMPLEMENT 36 BIT WORD
7660
7661 122010 012701 147462 NEG36: MOV #$DRAM,R1 ;MAKE 1'S COMPLEMENT
7662 122014 005121 COM (R1)+
7663 122016 005121 COM (R1)+
7664 122020 005111 COM (R1)
7665 122022 012701 147462 MOV #$DRAM,R1
7666 122026 062721 000001 ADD #1,(R1)+ ;MAKE THAT 2'S COMPLEMENT
7667 122032 005521 ADC (R1)+
7668 122034 005511 ADC (R1)
7669 122036 042711 177760 BIC #177760,(R1) ;STRIP OVERFLOW
7670 122042 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 216
SUB11 PAL[KL,SYS] Page 28.1 READ A 12 DIGIT OCTAL (36 BIT) NUMBER
7671
7672 122044 012700 147462 $TI36C: MOV #$DRAM,R0 ;CLEAR STORAGE
7673 122050 005020 CLR (R0)+
7674 122052 005020 CLR (R0)+
7675 122054 005020 CLR (R0)+
7676 122056 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 217
SUB11 PAL[KL,SYS] Page 29 SIGNED MULTIPLY SUBROUTINE
7677 .SBTTL SIGNED MULTIPLY SUBROUTINE
7678
7679 $MULTP: PUSH R0
7680 122062 016601 000022 MOV 22(SP),R1
7681 122066 016600 000020 MOV 20(SP),R0 ;MULTIPLICAND
7682 122072 005004 CLR R4 ;CLEAR SIGN
7683 122074 005700 TST R0 ;TEST SIGN
7684 122076 100002 BPL 1$
7685
7686 122100 005204 INC R4 ;SET SIGN BIT
7687 122102 005400 NEG R0 ;MAKE MULTIPLICAND POSITIVE
7688
7689 122104 005701 1$: TST R1 ;TEST SIGN OF MULTIPLIER
7690 122106 100002 BPL 2$
7691
7692 122110 005304 DEC R4 ;UPDATE SIGN BIT
7693 122112 005401 NEG R1 ;MAKE MULTIPLIER POSITIVE
7694
7695 122114 012703 000021 2$: MOV #17.,R3 ;SET LOOP COUNT
7696 122120 005002 CLR R2 ;SET UP FOR MULTIPLY LOOP
7697
7698 122122 103001 3$: BCC 4$ ;DONT ADD IF MULTIPLICAND IS ZERO
7699 122124 060102 ADD R1,R2
7700
7701 122126 006002 4$: ROR R2 ;POSITION THE PARTIAL PRODUCT
7702 122130 006000 ROR R0 ;AND THE MULTIPLICAND
7703 122132 005303 DEC R3 ;DONE YET
7704 122134 001372 BNE 3$ ;NOPE
7705
7706 122136 005704 TST R4 ;TEST SIGN
7707 122140 001403 BEQ 5$ ;PRODUCT IS POSITIVE
7708
7709 122142 005400 NEG R0 ;PRODUCT SHOULD BE NEGATIVE
7710 122144 005402 NEG R2
7711 122146 005600 SBC R0 ;SUBTRACT CARRY
7712
7713 122150 010066 000020 5$: MOV R0,20(SP) ;MOST SIGNIFICANT BITS
7714 122154 010266 000022 MOV R2,22(SP) ;LEAST SIGNIFICANT BITS
7715 POP R0
7716 EXIT ;EXIT
7717 122162 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 218
SUB11 PAL[KL,SYS] Page 30 BREAK CHARACTER
7718 .SBTTL BREAK CHARACTER
7719
7720 122166 005337 150716 $TTIBRK:DEC $INPTC ;BACKUP INPUT POINTER
7721 122172 104005 TTICHR
7722 122174 103122 BCC $$PEX4 ;NOTHING IN BUFFER
7723 $$PEX5: EXITERR
7724 122176 000137 124036 JMP $EXITE
7725
7726 .SBTTL TELETYPE INPUT SPACE DELETE ROUTINE
7727
7728 122202 104005 $TTSDL: TTICHR
7729 122204 103446 BCS $TTSDX ;BUFFER EMPTY
7730 122206 120027 000040 CMPB R0,#BLANK
7731 122212 001773 BEQ $TTSDL ;DELETE SPACES
7732 122214 120027 000011 CMPB R0,#TAB
7733 122220 001770 BEQ $TTSDL ;DELETE TABS
7734 122222 122700 000055 CMPB #'-,R0 ;TREAT + OR -
7735 122226 001411 BEQ 3$ ;SAME AS NUMBER
7736 122230 122700 000053 CMPB #'+,R0
7737 122234 001406 BEQ 3$
7738 122236 120027 000060 CMPB R0,#60
7739 122242 002406 BLT 1$ ;BR IF NON-NUMBER
7740 122244 120027 000071 CMPB R0,#71
7741 122250 003003 BGT 1$ ;BR IF NON-NUMBER
7742 122252 005337 150716 3$: DEC $INPTC ;NUMBER, BACKUP INPUT POINTER
7743 122256 000471 BR $$PEX4 ;C-BIT CLEAR RETURN
7744 122260 120027 000072 1$: CMPB R0,#': ;COLON OR SLASH, V-BIT & C-BIT SET
7745 122264 001412 BEQ 10$
7746 122266 120027 000057 CMPB R0,#'/
7747 122272 001407 BEQ 10$
7748 122274 120027 000136 CMPB R0,#'↑ ;UPARROW, Z-BIT & C-BIT SET
7749 122300 001336 BNE $$PEX5
7750 122302 052766 000004 000014 BIS #ZBIT,14(SP)
7751 122310 000732 BR $$PEX5
7752
7753 122312 052766 000002 000014 10$: BIS #VBIT,14(SP)
7754 122320 000726 BR $$PEX5
7755 122322 000137 113452 $TTSDX: JMP $PARAM
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 219
SUB11 PAL[KL,SYS] Page 31 TELETYPE INPUT TERMINATION CHECK
7756 .SBTTL TELETYPE INPUT TERMINATION CHECK
7757
7758 122326 005237 150716 $TTITRM:INC $INPTC ;BECAUSE "TTERM" DECREMENTS
7759 122332 104201 $TTBTRM:TTERM ;VERIFY TERMINATOR
7760 122334 103772 BCS $TTSDX ;BAD, C-BIT SET RETURN
7761 122336 000441 BR $$PEX4 ;OK
7762
7763 $TTERM: PUSH R0
7764 122342 005337 150716 DEC $INPTC ;BACKUP INPUT POINTER
7765 122346 104005 TTICHR ;GET TERMINATION CHAR
7766 122350 103407 BCS 2$ ;NONE
7767 122352 012701 122400 MOV #TRMTAB,R1 ;SETUP TERMINATION SCAN POINTER
7768 122356 120011 1$: CMPB R0,(R1) ;CHAR MATCH LEGAL TERMINATOR ?
7769 122360 001403 BEQ 2$ ;YES
7770 122362 105721 TSTB (R1)+ ;NOT YET, GO TO NEXT
7771 122364 001403 BEQ 3$ ;NO MATCH, ERROR
7772 122366 000773 BR 1$
7773 2$: POP R0
7774 122372 000423 BR $$PEX4 ;OK, C-BIT CLEAR RETURN
7775 3$: POP R0
7776 122376 000677 BR $$PEX5 ;ERROR, C-BIT SET RETURN
7777
7778 122400 040
7779 122401 011 TRMTAB: .BYTE SPACE,TAB
7780 122402 054
7781 122403 015 .BYTE COMMA,CR
7782 122404 033
7783 122405 072 .BYTE ALTMOD,72 ;COLON
7784 122406 057
7785 122407 000 .BYTE 57,0 ;SLASH
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 220
SUB11 PAL[KL,SYS] Page 32 INPUT & CHECK OCTAL NUMBER
7786 .SBTTL INPUT & CHECK OCTAL NUMBER
7787
7788 122410 104016 $TTCOCT:TTISDL
7789 122412 103743 BCS $TTSDX
7790 122414 104007 TTIOCT
7791 122416 103741 BCS $TTSDX ;NON-OCTAL
7792 122420 000410 BR $$PEX4 ;OK
7793
7794 122422 104010 $TOCTE: TTCOCT
7795 122424 032700 000001 BIT #1,R0 ;ONLY EVEN OCTAL
7796 122430 001334 BNE $TTSDX
7797 122432 000403 BR $$PEX4
7798
7799 .SBTTL TELETYPE DELETE SPACES & INPUT OCTAL NUMBER
7800
7801 122434 104010 $TTSDO: TTCOCT
7802 122436 005700 TST R0 ;MUST BE POSITIVE ALSO
7803 122440 100730 BMI $TTSDX
7804 122442 $$PEX4=.
7805 EXIT
7806 122442 000137 124064 JMP $EXIT
7807
7808 .SBTTL TELETYPE DELETE SPACES & INPUT 36BIT NUMBER
7809
7810 122446 104016 $TTS36: TTISDL ;DELETE SPACES
7811 122450 103724 BCS $TTSDX
7812 122452 104014 TTI36 ;INPUT 36 BIT NUMBER
7813 122454 103722 BCS $TTSDX
7814 122456 000771 BR $$PEX4
7815
7816 .SBTTL TELETYPE INPUT C-RAM ADDRESS
7817
7818 122460 104017 $TICRA: TTISDO ;GET ADDRESS
7819 122462 020027 002777 CMP R0,#2777
7820 122466 003765 BLE $$PEX4
7821 122470 000137 113350 JMP ADRERR ;TOO BIG
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 221
SUB11 PAL[KL,SYS] Page 33 SHIFT R0 RIGHT/LEFT ROUTINES
7822 .SBTTL SHIFT R0 RIGHT/LEFT ROUTINES
7823
7824 122474 017701 025134 $SHFTR: MOV @$EMADR,R1 ;GET SHIFT COUNT
7825 122500 006200 1$: ASR R0 ;SHIFT RIGHT
7826 122502 005301 DEC R1
7827 122504 003375 BGT 1$
7828 $SHFTX: EXITSKP ;SKIP OVER TRAILING PARAMETER
7829 122506 000137 124056 JMP $EXITS
7830
7831 122512 017701 025116 $SHFTL: MOV @$EMADR,R1
7832 122516 006300 1$: ASL R0 ;SHIFT LEFT
7833 122520 005301 DEC R1
7834 122522 003375 BGT 1$
7835 122524 000770 BR $SHFTX
7836
7837 .SBTTL PRINT MESSAGE, CONDITIONAL DEPENDING ON "RPTFLG"
7838
7839 122526 105737 147732 $$PMSR: TSTB RPTFLG ;DOES REPEAT FLAG ALLOW PRINTING ?
7840 122532 001365 BNE $SHFTX ;NO
7841
7842 .SBTTL PRINT MESSAGE
7843
7844 122534 017700 025074 $$PMSG: MOV @$EMADR,R0 ;MESSAGE ADDRESS TO R0
7845 122540 104024 PNTAL ;PRINT
7846 122542 000761 BR $SHFTX ;SKIP RETURN
7847
7848 .SBTTL PRINT CHARACTER IMMEDIATE
7849
7850 122544 013702 147634 $PNTCI: MOV $EMADR,R2 ;GET DATA ADDRESS
7851 122550 112201 MOVB (R2)+,R1 ;GET FIRST BYTE
7852 122552 104154 PLDBUF ;INSERT IN BUFFER
7853 122554 111201 MOVB (R2),R1 ;GET 2ND BYTE
7854 122556 001401 BEQ 1$ ;IS THERE ANY ?
7855 122560 104154 PLDBUF ;YES, INSERT IN BUFFER
7856 122562 000751 1$: BR $SHFTX ;SKIP RETURN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 222
SUB11 PAL[KL,SYS] Page 34 SMALL TIME DELAY
7857 .SBTTL SMALL TIME DELAY
7858
7859 122564 012701 000012 $DELAY: MOV #10.,R1
7860 122570 005301 1$: DEC R1
7861 122572 001376 BNE 1$
7862 EXIT
7863 122574 000137 124064 JMP $EXIT
7864
7865 ;CONSOLE TIME DELAY FOR REPEAT LOOPS
7866
7867 122600 104016 .TD: TTISDL
7868 122602 103404 BCS 1$ ;NO ARG, DO ONCE
7869 122604 104011 TTIDEC
7870 122606 103402 BCS 1$ ;DO ONCE ANYWAY
7871 122610 010001 MOV R0,R1 ;SAVE DELAY COUNT
7872 122612 000401 BR 2$
7873 122614 005001 1$: CLR R1
7874 122616 104056 2$: TDELAY ;SMALL TIME DELAY
7875 122620 005301 DEC R1 ;DONE REQUESTED DELAYS ?
7876 122622 003375 BGT 2$
7877 122624 000137 100230 JMP $KONSL
7878
7879 .SBTTL SAVE AND RESTORE R0-R5 ROUTINES
7880
7881 $REGSAV:PUSH R0
7882 PUSH 16(SP)
7883 PUSH 16(SP)
7884 122642 000002 RTI
7885
7886 ;*RESTORE R0-R5
7887
7888 122644 016666 000014 000034 $REGRST:MOV 14(SP),34(SP)
7889 122652 016666 000012 000032 MOV 12(SP),32(SP)
7890 122660 062706 000016 ADD #16,SP
7891 POP <R0,R5,R4,R3,R2,R1>
7892 122700 000002 RTI
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 223
SUB11 PAL[KL,SYS] Page 35 SAVE AND RESTORE R0-R5 ROUTINES
7893 ;FATAL VECTOR INTERRUPT
7894
7895 $FATLE: PUSH R0
7896 PMSG <?FATAL INTR>
7897 122704 104025 $PMSG
7898 122706 146062 $$CLIT
7899 122710 000407 BR $EOR
7900
7901 $TIMOT: PUSH R0
7902 PMSG <?BUS TIMEOUT>
7903 122714 104025 $PMSG
7904 122716 146076 $$CLIT
7905 122720 000403 BR $EOR
7906
7907 $RESVD: PUSH R0
7908 PMSG <?RESERVED INST>
7909 122724 104025 $PMSG
7910 122726 146113 $$CLIT
7911
7912 122730 005037 147670 $EOR: CLR TENRUN
7913 POP R0
7914 PUSH <R1,R2,R3,R4,R5,R0>
7915 122752 000414 BR $EOR2
7916
7917 ;STACK UNDERFLOW
7918
7919 122754 012706 157774 $STUF: MOV #STACK-2,SP
7920 122760 010637 147736 MOV SP,$KONSP
7921 PMSG <?ST UNFLO>
7922 122764 104025 $PMSG
7923 122766 146132 $$CLIT
7924 122770 005037 152214 CLR PCMDFLG
7925 122774 000137 100004 JMP $CNTLC
7926
7927 $NOTAS: PMSG <?UNAS EMT>
7928 123000 104025 $PMSG
7929 123002 146144 $$CLIT
7930 123004 005037 152214 $EOR2: CLR PCMDFLG
7931 123010 000137 115262 JMP $PH1
7932
7933 $FATAL: PUSH R0
7934 PMSG <?FATAL>
7935 123016 104025 $PMSG
7936 123020 146156 $$CLIT
7937 123022 000770 BR $EOR2
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 224
SUB11 PAL[KL,SYS] Page 36 EMT DECODER
7938 .SBTTL EMT DECODER
7939
7940 ;*THIS ROUTINE WILL PICKUP THE LOWER BYTE OF THE "EMT" INSTRUCTION
7941 ;*AND USE IT TO INDEX THROUGH THE EMT TABLE FOR THE STARTING ADDRESS
7942 ;*OF THE DESIRED ROUTINE. THEN USING THE ADDRESS OBTAINED IT WILL
7943 ;*GO TO THAT ROUTINE.
7944
7945 123024 020627 157360 $EMTRP: CMP SP,#$$STKM ;check against stack bottom
7946 123030 003751 BLE $STUF ;OFF BOTTOM OF STACK
7947 PUSH <R1,R2,R3,R4,R5,R0>
7948 123046 016600 000014 MOV 14(SP),R0 ;GET EMT ADDRESS (+2)
7949 123052 042766 000017 000016 BIC #17,16(SP) ;CLEAR ALL STATUS BITS
7950 123060 010037 147634 MOV R0,$EMADR ;SAVE
7951 123064 014000 MOV -(R0),R0 ;GET RIGHT BYTE OF EMT
7952 123066 042700 177400 BIC #177400,R0
7953 123072 020027 000240 CMP R0,#<<$EMTAE-$EMTAD>/2>
7954 123076 002340 BGE $NOTAS ;EMT IN RANGE ?
7955 SL R0,1 ;ROUND TO WORD ADDRESS
7956 123102 016000 123110 MOV $EMTAD(R0),R0 ;INDEX TO TABLE
7957 123106 000200 RTS R0 ;GO TO ROUTINE
7958
7959 .SBTTL EMT TABLE
7960
7961 ;*THIS TABLE CONTAINS THE STARTING ADDRESSES OF THE ROUTINES CALLED
7962 ;*BY THE "EMT" INSTRUCTION.
7963
7964 ; ROUTINE
7965 ; -------
7966 123110 123014 $EMTAD: $FATAL ;EMT + 0
7967 123112 115232 $ERRHLT ; 1
7968 123114 115222 $PRGHLT ; 2
7969 123116 107030 $RUNLP ; 3
7970 123120 120150 $TTILIN ; 4
7971 123122 117622 $TTICHR ; 5
7972 123124 117654 $TTLOOK ; 6
7973 123126 121074 $TTIOCT ; 7
7974 123130 122410 $TTCOCT ;EMT + 10
7975 123132 121232 $TTIDEC ; 11
7976 123134 117746 $TTIYES ; 12
7977 123136 117702 $TTALTM ; 13
7978 123140 121344 $TTI36 ; 14
7979 123142 122166 $TTIBRK ; 15
7980 123144 122202 $TTSDL ; 16
7981 123146 122434 $TTSDO ; 17
7982 123150 122446 $TTS36 ;EMT + 20
7983 123152 122460 $TICRA ; 21
7984 123154 122326 $TTITRM ; 22
7985 123156 122332 $TTBTRM ; 23
7986 123160 115522 $PNTAL ; 24
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 225
SUB11 PAL[KL,SYS] Page 36.1 EMT TABLE
7987 123162 122534 $$PMSG ; 25
7988 123164 122526 $$PMSR ; 26
7989 123166 115624 $PNTCHR ; 27
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 226
SUB11 PAL[KL,SYS] Page 37 EMT TABLE
7990 123170 115614 $PNTNBR ;EMT + 30
7991 123172 116742 $PCRLF ; 31
7992 123174 115634 $PSPACE ; 32
7993 123176 115642 $PSLASH ; 33
7994 123200 115650 $PCOMMA ; 34
7995 123202 117366 $PNTOCT ; 35
7996 123204 117374 $PNTOSC ; 36
7997 123206 117476 $PNTDEC ; 37
7998 123210 117114 $PNT18 ;EMT + 40
7999 123212 117130 $PNT23 ; 41
8000 123214 117154 $PNT36 ; 42
8001 123216 120046 $PFORCE ; 43
8002 123220 120054 $PNORML ; 44
8003 123222 116750 $PBELL ; 45
8004 123224 116772 $PNTODC ; 46
8005 123226 116760 $PODT ; 47
8006 123230 122630 $REGSAV ;EMT + 50
8007 123232 122644 $REGRST ; 51
8008 123234 125316 $CMP36 ; 52
8009 123236 122474 $SHFTR ; 53
8010 123240 122512 $SHFTL ; 54
8011 123242 124046 $SETFLG ; 55
8012 123244 122564 $DELAY ; 56
8013 123246 120026 $SWITCH ; 57
8014 123250 120040 $SWTSAM ;EMT + 60
8015 123252 115220 $EOP ; 61
8016 123254 115220 $ERREOP ; 62
8017 123256 115220 $EOPSET ; 63
8018 .IF DF MONASB
8019 $COMLIN ; 64
8020 $COMSND ; 65
8021 $COMACK ; 66
8022 $COMNAK ; 67
8023 $COMCLR ;EMT + 70
8024 $COMCTL ; 71
8025 .IFF
8026 000006 .REPT 6
8027 $FATAL ;64-71
8028 .ENDR
8029 123260 123014 $FATAL ;64-71
8030 123262 123014 $FATAL ;64-71
8031 123264 123014 $FATAL ;64-71
8032 123266 123014 $FATAL ;64-71
8033 123270 123014 $FATAL ;64-71
8034 123272 123014 $FATAL ;64-71
8035 .ENDC
8036 123274 122060 $MULTP ; 72
8037 123276 142254 $WCRAM ; 73
8038 123300 142564 $RCRAM ; 74
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 227
SUB11 PAL[KL,SYS] Page 37.1 EMT TABLE
8039 123302 142122 $WWADR ; 75
8040 123304 141656 $MRESET ; 76
8041 123306 125616 $TENSP ; 77
8042 123310 125400 $SM ;EMT + 100
8043 123312 125474 $XCT ; 101
8044 123314 144132 $LODAR ; 102
8045 123316 124322 $EXAM ; 103
8046 123320 124314 $EXAMT ; 104
8047 123322 124240 $DPOS ; 105
8048 123324 124234 $DPOST ; 106
8049 123326 125150 $DPOSVR ; 107
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 228
SUB11 PAL[KL,SYS] Page 38 EMT TABLE
8050 123330 125144 $DPSVT ;EMT + 110
8051 123332 124204 $D10MON ; 111
8052 123334 124144 $D10ZRO ; 112
8053 123336 140736 $DTEBAS ; 113
8054 123340 141144 $DFXCT ; 114
8055 123342 141114 $DXCTT ; 115
8056 123344 140760 $DFRD ; 116
8057 123346 141570 $DFRDMV ; 117
8058 123350 141400 $DFWRT ;EMT + 120
8059 123352 141360 $DFWIR ; 121
8060 123354 141130 $DFSCLK ; 122
8061 123356 144440 $DFPC ; 123
8062 123360 144456 $DFVMA ; 124
8063 123362 144464 $DFADB ; 125
8064 123364 143340 $RDRAM ; 126
8065 123366 143270 $WDRAM ; 127
8066 123370 143510 $DRAMAD ;EMT + 130
8067 123372 143742 $BURST ; 131
8068 123374 103600 $PNTCPU ; 132
8069 123376 101452 $PRGCMD ; 133
8070 123400 117144 $P36B ; 134
8071 123402 125544 $ECLOK ; 135
8072 123404 123610 $ESYNC ; 136
8073 123406 117046 $PADR ; 137
8074 123410 140746 $DFRDT ;EMT + 140
8075 123412 141620 $DWRTT ; 141
8076 123414 126502 $PCRAM ; 142
8077 123416 127600 $PDRAM ; 143
8078 123420 120010 $TTBACK ; 144
8079 123422 111762 $TENSW ; 145
8080 123424 117346 $PROL36 ; 146
8081 123426 144226 $SETMPH ; 147
8082 123430 144432 $DFVMH ;EMT + 150
8083 123432 116040 $PRINTT ; 151
8084 123434 116174 $PTTY ; 152
8085
8086 .IF DF LPTASB
8087 $PLPT ; 153
8088 .IFF
8089 123436 123014 $FATAL
8090 .ENDC
8091
8092 123440 115664 $PLDBUF ; 154
8093 123442 134170 $R50UPK ; 155
8094 123444 134134 $DTINIT ; 156
8095
8096 .IF DF RPASB
8097 $RPINIT ; 157
8098 .IFF
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 229
SUB11 PAL[KL,SYS] Page 38.1 EMT TABLE
8099 123446 123014 $FATAL
8100 .ENDC
8101
8102 123450 134032 $DVDATA ;EMT + 160
8103 123452 134500 $DTREAD ; 161
8104
8105 .IF DF RPASB
8106 $RPREAD ; 162
8107 .IFF
8108 123454 123014 $FATAL
8109 .ENDC
8110
8111 123456 133772 $DVFRAM ; 163
8112 123460 134110 $DVWRD ; 164
8113 123462 135124 $ASCR50 ; 165
8114
8115 .IF DF RPASB
8116 $RPLOAD ; 166
8117 $RPFIND ; 167
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 230
SUB11 PAL[KL,SYS] Page 39 EMT TABLE
8118 $RPLKUP ;EMT + 170
8119 $RPRDFL ; 171
8120 $RPWRFL ; 172
8121 $RPWRIT ; 173
8122 $RPADDR ; 174
8123 $RPBASE ; 175
8124 .IFF
8125 000010 .REPT 8
8126 $FATAL
8127 .ENDR
8128 123464 123014 $FATAL
8129 123466 123014 $FATAL
8130 123470 123014 $FATAL
8131 123472 123014 $FATAL
8132 123474 123014 $FATAL
8133 123476 123014 $FATAL
8134 123500 123014 $FATAL
8135 123502 123014 $FATAL
8136 .ENDC
8137
8138 123504 112106 $TENCHR ; 176
8139 123506 115770 $PNTBAK ; 177
8140 123510 122422 $TOCTE ;EMT + 200
8141 123512 122340 $TTERM ; 201
8142 123514 143732 $CLKPRM ; 202
8143 123516 143132 $MICNUL ; 203
8144 123520 143220 $MICFIL ; 204
8145 123522 134506 $DTWRT ; 205
8146 123524 130700 $NAMEXT ; 206
8147 123526 133430 $DTAFILE ; 207
8148
8149 .IF DF RPASB
8150 $RPFILE ;EMT + 210
8151 .IFF
8152 123530 123014 $FATAL
8153 .ENDC
8154
8155 123532 134370 $DTRDFL ; 211
8156 123534 134444 $DTWTFL ; 212
8157 123536 134472 $DTBASE ; 213
8158 123540 122544 $PNTCI ; 214
8159 123542 116022 $PNTRST ; 215
8160 123544 101444 $PRGNPT ; 216
8161 123546 116006 $TTPINI ; 217
8162 .IF DF MONASB
8163 $COMCMD ;EMT + 220
8164 $CMRTRY ; 221
8165 $COMENQ ; 222
8166 $COMEOT ; 223
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 231
SUB11 PAL[KL,SYS] Page 39.1 EMT TABLE
8167 .IFF
8168 000004 .REPT 4
8169 $FATAL
8170 .ENDR
8171 123550 123014 $FATAL
8172 123552 123014 $FATAL
8173 123554 123014 $FATAL
8174 123556 123014 $FATAL
8175 .ENDC
8176 123560 120142 $TTILNW ; 224
8177 123562 101636 $TTICCL ; 225
8178 123564 104276 $DFLEGAL ; 226
8179 123566 115656 $PTAB ; 227
8180
8181 .IF DF RXASB
8182 $RXFILE ;EMT + 230
8183 $RXINIT ; 231
8184 $RXRDFL ; 232
8185 $RXWTFL ; 233
8186 $RXBASE ; 234
8187 $RXREAD ; 235
8188 $RXWRT ; 236
8189 .IFF
8190 000007 .REPT 7
8191 $FATAL
8192 .ENDR
8193 123570 123014 $FATAL
8194 123572 123014 $FATAL
8195 123574 123014 $FATAL
8196 123576 123014 $FATAL
8197 123600 123014 $FATAL
8198 123602 123014 $FATAL
8199 123604 123014 $FATAL
8200 .ENDC
8201
8202 .IF DF RPASB
8203 $RPERR ; 237
8204 .IFF
8205 123606 123014 $FATAL
8206 .ENDC
8207
8208 123610 $EMTAE=.
8209
8210 $ESYNC: PUSH R0
8211 123612 000137 123000 JMP $NOTAS
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 232
SUB11 PAL[KL,SYS] Page 40 POWER DOWN AND UP ROUTINES
8212 .SBTTL POWER DOWN AND UP ROUTINES
8213
8214 123616 012737 123630 000024 $PWRDN: MOV #$PWRUP,@#PWRVEC ;SET UP VECTOR
8215 123624 000000 $ILLUP: HALT
8216 123626 000776 BR $ILLUP ;HANG UP
8217
8218 ;POWER UP ROUTINE
8219
8220 123630 012737 000140 177776 $PWRUP: MOV #CPUPR,PS ;SET CPU PRIORITY
8221 123636 012706 157776 MOV #STACK,SP ;SET SP
8222 .LIF DF SAILVR
8223 123642 004737 125746 JSR PC,CLKSTA ;START CLOCK
8224 123646 005005 CLR R5 ;WAIT LOOP FOR THE TTY
8225 123650 005205 1$: INC R5 ;WAIT FOR THE INC
8226 123652 001376 BNE 1$ ;OF WORD
8227 123654 012737 123616 000024 MOV #$PWRDN,@#PWRVEC ;SET UP THE POWER DOWN VECTOR
8228 123662 005037 077776 CLR CONSOL-2
8229 123666 005037 157304 CLR LPTFLG ;DISCONNECT LINE PRINTER
8230 .IF NDF TELASB
8231 CLR DL11EFLG ;DISCONNECT KLINIK !!!
8232 .IFF
8233 123672 005037 152236 CLR FSFLG
8234 123676 012777 000004 754124 MOV #DLRTS,@$FSTKS
8235 123704 012700 116100 MOV #40000.,R0 ;40000*2.36USEC = 94.4 MS
8236 123710 077001 SOB R0,. ;WAIT FOR DATA SET TO HANG UP
8237 123712 052777 000046 754110 BIS #DLRTS!DLDTR!DLDIE,@$FSTKS ;SET DATA TERM READY AND DATA SET INT ENB
8238 ;LEAVE REQUEST TO SEND UP ALTHOUGH WE DON'T USE IT
8239 .ENDC
8240 123720 005237 157312 INC $PWRCNT ;COUNT POWER RESTARTS
8241
8242 .IF NDF SAILVR
8243 MOV #KWLKS,R3
8244 CLR R5
8245 10$: TSTB (R3) ;WAIT FOR CLOCK TICK
8246 BPL 10$
8247 BIC #200,(R3)
8248 .IFF
8249 123724 005037 157160 CLR CLKFLG
8250 123730 005737 157160 10$: TST CLKFLG
8251 123734 001775 BEQ 10$
8252 123736 005037 157160 CLR CLKFLG
8253 .ENDC
8254 123742 005205 INC R5 ;COUNT IT
8255 123744 020527 000454 CMP R5,#<5.*60.> ;WAITED 5 SEC FOR TTY POWER ?
8256 123750 003767 BLE 10$ ;NOT YET
8257 PMSG <\"POWER RESTART" >
8258 123752 104025 $PMSG
8259 123754 146165 $$CLIT
8260 123756 013700 157312 MOV $PWRCNT,R0
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 233
SUB11 PAL[KL,SYS] Page 40.1 POWER DOWN AND UP ROUTINES
8261 123762 104037 PNTDEC
8262 123764 104031 PCRLF
8263 123766 005005 CLR R5 ;CLEAR TIME-UP COUNTER
8264 123770 004737 120670 2$: JSR PC,$TIRDY ;ANY OPERATOR INTERRUPT ?
8265 123774 103407 BCS 3$ ;NO
8266 123776 113704 147744 MOVB $TICHR,R4 ;YES, GET CHAR
8267 124002 142704 000200 BICB #200,R4
8268 124006 122704 000003 CMPB #CNTRLC,R4 ;IS IT CONTROL C ?
8269 124012 001407 BEQ 4$ ;YES, ABORT TIME-UP WAIT
8270 3$:
8271 .IF NDF SAILVR
8272 TSTB (R3) ;CLOCK SET ?
8273 BPL 2$ ;NO
8274 BIC #200,(R3)
8275 .IFF
8276 124014 005737 157160 TST CLKFLG
8277 124020 001763 BEQ 2$
8278 .ENDC
8279 124022 005205 INC R5 ;COUNT CLOCK TICK
8280 124024 020527 000454 CMP R5,#<5.*60.> ;WAITED 5 SECONDS FOR KL10 ?
8281 124030 003757 BLE 2$ ;NOT YET
8282 124032 000137 100000 4$: JMP START
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 234
SUB11 PAL[KL,SYS] Page 41 EXIT SUBROUTINE
8283 .SBTTL EXIT SUBROUTINE
8284
8285 124036 052766 000001 000014 $EXITE: BIS #CBIT,14(SP) ;SET C-BIT ERROR
8286 124044 000407 BR $EXIT
8287
8288 124046 017701 023562 $SETFLG:MOV @$EMADR,R1 ;SET -1 TO FLAG WORD
8289 124052 012711 777777 MOV #-1,(R1)
8290
8291 124056 062766 000002 000012 $EXITS: ADD #2,12(SP) ;SKIP RETURN
8292 $EXIT: POP <R5,R4,R3,R2,R1>
8293 124076 000006 1$: RTT ;RETURN TO USER
8294
8295 ;MEMORY PARITY
8296
8297 124100 005737 147612 MEMPE: TST MEMPEF ;BEEN HERE ALREADY ?
8298 124104 100001 BPL 1$
8299 124106 104000 FATAL ;YES
8300 124110 005137 147612 1$: COM MEMPEF ;SET FLAG
8301 124114 042737 000001 172100 BIC #MMPIE,MMLPBA ;CLEAR ENABLE
8302 124122 032737 100000 172100 BIT #MMERRF,MMLPBA ;ERROR SET ?
8303 124130 001001 BNE 2$
8304 124132 104000 FATAL ;NO, HOW DID THIS GET HERE ?
8305 2$: PMSG <?PARITY>
8306 124134 104025 $PMSG
8307 124136 146207 $$CLIT
8308 124140 000137 100004 JMP $CNTLC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 235
SUB11 PAL[KL,SYS] Page 42 PDP10 OPERATIONS
8309 .SBTTL PDP10 OPERATIONS
8310
8311 ;PDP-10 MEMORY ZERO
8312 ; R0 = COUNT, R1 = POINTER TO START ADDRESS
8313
8314 124144 010005 $D10ZRO: MOV R0,R5 ;SAVE COUNT
8315 124146 005305 DEC R5
8316 124150 012704 147704 MOV #.DPXAD,R4
8317 124154 112124 MOVB (R1)+,(R4)+
8318 124156 112124 MOVB (R1)+,(R4)+
8319 124160 111114 MOVB (R1),(R4)
8320 124162 005744 TST -(R4)
8321 124164 005077 033136 CLR @.DAT1 ;CLEAR DTE20 DATA WORDS
8322 124170 005077 033130 CLR @.DAT2
8323 124174 005077 033122 CLR @.DAT3
8324
8325 124200 010401 $D10ZX: MOV R4,R1 ;POINTER TO ADDRESS
8326 124202 000440 BR $DPSX1
8327
8328 ;PDP-10 SET -1 TO FLAG WORD
8329 ; ADDRESS IN TRAILING PARAMETER
8330
8331 124204 012701 147702 $D10MON: MOV #L10ADR+2,R1 ;SETUP 10 ADR BLOCK POINTER
8332 124210 005011 CLR (R1)
8333 124212 017741 023416 MOV @$EMADR,-(R1) ;PUT 10 ADR IN ADR BLOCK
8334 124216 012700 100056 MOV #TENMO,R0 ;SETUP -1 DATA WORD
8335 124222 062766 000002 000012 ADD #2,12(SP) ;SKIP RETURN OVER TRAILING PARAMETER
8336 124230 005005 CLR R5
8337 124232 000405 BR $DPOSX
8338
8339 ;EXAMINE AND DEPOSIT 10 MEMORY
8340
8341 124234 004737 125352 $DPOST: JSR PC,$10ADR ;SETUP PARAMETERS
8342
8343 124240 005005 $DPOS: CLR R5
8344 124242 004737 125072 JSR PC,$D10ADR ;SETUP PDP-10 ADDRESS
8345 124246 012702 147672 $DPOSX: MOV #$TEMP0,R2 ;STUFF THE DEXWRDS
8346 124252 112022 MOVB (R0)+,(R2)+
8347 124254 112022 MOVB (R0)+,(R2)+
8348 124256 112022 MOVB (R0)+,(R2)+
8349 124260 112022 MOVB (R0)+,(R2)+
8350 124262 112022 MOVB (R0)+,(R2)+
8351 124264 111022 MOVB (R0),(R2)+
8352 124266 042742 177760 BIC #177760,-(R2)
8353 124272 013703 157326 MOV .DAT1,R3
8354 124276 011213 MOV (R2),(R3) ;BITS 00-03 TO .DAT1
8355 124300 014243 MOV -(R2),-(R3) ;BITS 04-19 TO .DAT2
8356 124302 014243 MOV -(R2),-(R3) ;BITS 20-35 TO .DAT3
8357 124304 052761 010000 000002 $DPSX1: BIS #DEP,2(R1) ;SET FLAG
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 236
SUB11 PAL[KL,SYS] Page 42.1 PDP10 OPERATIONS
8358 124312 000414 BR $EXDEP
8359
8360 124314 004737 125352 $EXAMT: JSR PC,$10ADR ;SETUP PARAMETERS
8361 124320 000405 BR $EXAMX
8362
8363 ;EXAMINE 10 CORE. R0 POINTS TO 2 WORDS CONTAINING THE 10 ADDRESS
8364 ; (BITS 20:35 IN FIRST WORD, 14:19 IN SECOND WORD)
8365 ; RESULT RETURNED IN $DRAM (20:35), $DRAM+2 (4:19), $DRAM+4 (0:3)
8366 124322 010001 $EXAM: MOV R0,R1
8367 124324 004737 125072 JSR PC,$D10ADR ;SETUP PDP-10 ADDRESS
8368 124330 012700 147462 MOV #$DRAM,R0
8369 124334 005005 $EXAMX: CLR R5
8370 124336 042761 010000 000002 BIC #DEP,2(R1) ;CLEAR FLAG BIT
8371 124344 012777 000020 033002 $EXDEP: MOV #EBUSPC,@.STDTE ;E-BUS PARITY CLEAR
8372
8373 000001 .IF EQ EPTREL
8374 BIS #PHYS!PRTOFF,2(R1)
8375 .IFF
8376 124352 053761 147424 000002 BIS $TADSP,2(R1) ;$TADSP DESIGNATES ADDR MODE
8377 124360 012737 104000 147424 MOV #PHYS!PRTOFF,$TADSP ;RESET ADDR MODE FOR NEXT EXDEP
8378 .ENDC
8379 124366 005737 147564 TST VRBFLG
8380 124372 001425 BEQ 70$
8381 124374 032777 002000 032746 BIT #KLRUN,@.DIAG1
8382 124402 001021 BNE 70$
8383 PUSH R0
8384 PUSH @.DAT1 ;IF VERBOSE AND KL IS NOT RUNNING THEN USE
8385 PUSH @.DAT2 ;APR FLAGS TO DETERMINE NXM, ETC.
8386 PUSH @.DAT3
8387 124422 012700 125064 MOV #$$CLRF,R0
8388 124426 104101 EXCT ;EXECUTE A CONO APR,23400 TO CLR NXM,IOPGF,MB PAR
8389 POP @.DAT3
8390 POP @.DAT2
8391 POP @.DAT1
8392 POP R0
8393 124446 016177 000002 032654 70$: MOV 2(R1),@.TENA1
8394 124454 011177 032652 MOV (R1),@.TENA2 ;START DTE20
8395 124460 013746 100104 MOV EMTIMO,-(SP) ;SET TIMEOUT COUNT
8396 124464 032777 000004 032662 93$: BIT #DEXDON,@.STDTE ;TEST BIT
8397 124472 001034 BNE 94$ ;LEAVE IF NOW A ONE(OK)
8398 124474 005316 DEC (SP) ;DECREMENT COUNT
8399 124476 001372 BNE 93$ ;CONTINUE LOOP
8400 124500 005737 147732 TST RPTFLG ;OTHERWISE TIMEOUT
8401 124504 001027 BNE 94$ ;UNLESS UNDER REPEAT
8402 124506 005737 147564 TST VRBFLG
8403 124512 001416 BEQ 95$
8404 PUSH R0
8405 PMSG <EXAM/DEPOSIT TIMEOUT, ADDRESS = >
8406 124516 104025 $PMSG
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 237
SUB11 PAL[KL,SYS] Page 42.2 PDP10 OPERATIONS
8407 124520 146217 $$CLIT
8408 124522 010100 MOV R1,R0
8409 PUSH 2(R0)
8410 124530 042760 177700 000002 BIC #177700,2(R0)
8411 124536 104137 PNTADR
8412 124540 104031 PCRLF
8413 POP 2(R1)
8414 POP R0
8415 124550 005037 147670 95$: CLR TENRUN ;CLEAR TEN RUNNING
8416 124554 005005 CLR R5 ;CLEAR BLOCK ZERO INDICATOR
8417 124556 052766 000001 000016 BIS #CBIT,16(SP)
8418 124564 005737 147564 94$: TST VRBFLG
8419 124570 001475 BEQ 96$
8420 124572 032777 002000 032550 BIT #KLRUN,@.DIAG1
8421 124600 001071 BNE 96$ ;KL IS STILL RUNNING
8422 PUSH R0
8423 PUSH @.DAT1
8424 PUSH @.DAT2
8425 PUSH @.DAT3
8426 124620 012746 000000 MOV #0,-(SP) ;PUSH FLAG
8427 124624 012700 000110 MOV #110,R0
8428 124630 104116 DFRD ;BIT 7 IS APR NXM ERR IN
8429 124632 032777 010000 032464 BIT #BIT12,@.DAT2 ;BITS 4-19 (TEST BIT 7)
8430 124640 001403 BEQ 89$ ;BRANCH IF NOT SET
8431 124642 005216 INC (SP) ;INC FLAG
8432 PMSG <MBOX DETECTED NXM\>
8433 124644 104025 $PMSG
8434 124646 146260 $$CLIT
8435 124650 032777 002000 032446 89$: BIT #BIT10,@.DAT2 ;TEST BIT 9
8436 124656 001403 BEQ 88$ ;EBUS BIT 9 IS APR MB PAR ERR IN
8437 124660 005216 INC (SP)
8438 PMSG <MB PARITY ERROR DETECTED\>
8439 124662 104025 $PMSG
8440 124664 146303 $$CLIT
8441 124666 032777 004000 032430 88$: BIT #BIT11,@.DAT2 ;TEST BIT 8
8442 124674 001403 BEQ 87$ ;EBUS BIT 8 IS APR I/O PF ERR IN
8443 124676 005216 INC (SP)
8444 PMSG <IOPGF (PROB AR PAR ERR) DETECTED\>
8445 124700 104025 $PMSG
8446 124702 146335 $$CLIT
8447 124704 005726 87$: TST (SP)+ ;TEST AND FLUSH FLAG, ZERO IF NO ERRORS DETECTED
8448 124706 001417 BEQ 86$ ;BRANCH IF NO ERRORS
8449 124710 005737 147732 TST RPTFLG
8450 124714 001414 BEQ 86$
8451 PMSG <ADDR = > ;ERROR UNDER REPEAT, GIVE ADDRESS
8452 124716 104025 $PMSG
8453 124720 146377 $$CLIT
8454 124722 010100 MOV R1,R0
8455 PUSH 2(R0)
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 238
SUB11 PAL[KL,SYS] Page 42.3 PDP10 OPERATIONS
8456 124730 042760 177700 000002 BIC #177700,2(R0)
8457 124736 104137 PNTADR
8458 124740 104031 PCRLF
8459 POP 2(R1)
8460 86$: POP @.DAT3
8461 POP @.DAT2
8462 POP @.DAT1
8463 POP R0
8464 124764 005726 96$: TST (SP)+ ;RESET STACK
8465 124766 032761 010000 000002 BIT #DEP,2(R1)
8466 124774 001020 BNE 1$ ;DEPOSIT BRANCHES
8467 PUSH R0
8468 125000 013703 157322 MOV .DAT3,R3
8469 125004 012320 MOV (R3)+,(R0)+ ;BITS 20-35 FROM .DAT3
8470 125006 012320 MOV (R3)+,(R0)+ ;BITS 04-19 FROM .DAT2
8471 125010 011310 MOV (R3),(R0) ;BITS 00-03 FROM .DAT1
8472 125012 042710 177760 BIC #177760,(R0)
8473 POP R0
8474 125020 032777 000020 032326 BIT #BPARER,@.STDTE ;E-BUS PARITY ERROR ?
8475 125026 001403 BEQ 1$ ;NO
8476 125030 052766 000017 000014 BIS #CBIT!VBIT!NBIT!ZBIT,14(SP) ;SET ALL COND BITS
8477 125036 005705 1$: TST R5 ;EXAM, DPOS OR FINISHED BLOCK ZERO ?
8478 125040 001407 BEQ 2$ ;YES
8479 125042 005305 DEC R5 ;BLOCK ZERO, DECREMENT COUNT
8480 125044 062714 000001 ADD #1,(R4) ;INCREMENT PDP-10 ADDRESS
8481 125050 005564 000002 ADC 2(R4)
8482 125054 000137 124200 JMP $D10ZX ;CLEAR NEXT WORD
8483 2$: EXIT
8484 125060 000137 124064 JMP $EXIT
8485
8486 $$CLRF: IO10 CONO,APR,,23400 ;CLEAR APR NXM, IO PG FAIL, MB PAR ERR
8487 000000 .IIF B ,I=0
8488 .IIF NB ,I=
8489 000000 .IIF B ,XR=0
8490 .IIF NB ,XR=
8491 000002 BLKO=2
8492 000003 DATAO=3
8493 000000 BLKI=0
8494 000001 DATAI=1
8495 000004 CONO=4
8496 000005 CONI=5
8497 000006 CONSZ=6
8498 000007 CONSO=7
8499 000000 APR=0
8500 000004 PI=4
8501 000010 PAG=10
8502 000014 CCA=14
8503 000000 ADH=0
8504 000000 ADL=0
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 239
SUB11 PAL[KL,SYS] Page 42.4 PDP10 OPERATIONS
8505 .IRPC AD1,23400
8506 .IIF GE <ADL-10000>,ADH=ADL/10000
8507 ADL=10*<ADL&7777>+AD1
8508 .ENDM
8509 770000 .IIF GE <ADL-10000>,ADH=ADL/10000
8510 000002 ADL=10*<ADL&7777>+2
8511 770002 .IIF GE <ADL-10000>,ADH=ADL/10000
8512 000023 ADL=10*<ADL&7777>+3
8513 770023 .IIF GE <ADL-10000>,ADH=ADL/10000
8514 000234 ADL=10*<ADL&7777>+4
8515 770234 .IIF GE <ADL-10000>,ADH=ADL/10000
8516 002340 ADL=10*<ADL&7777>+0
8517 772340 .IIF GE <ADL-10000>,ADH=ADL/10000
8518 023400 ADL=10*<ADL&7777>+0
8519 125072 .EVEN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 240
SUB11 PAL[KL,SYS] Page 43 PDP10 OPERATIONS
8520 125072 012704 147700 $D10ADR:MOV #L10ADR,R4
8521 125076 112124 MOVB (R1)+,(R4)+
8522 125100 112124 MOVB (R1)+,(R4)+
8523 125102 111114 MOVB (R1),(R4)
8524 125104 042714 177700 BIC #177700,(R4)
8525 125110 012701 147700 MOV #L10ADR,R1
8526 125114 000207 RTS PC
8527
8528
8529 125116 077
8530 125117 105
8531 125120 055
8532 125121 102
8533 125122 125
8534 125123 123
8535 125124 040
8536 125125 120
8537 125126 101
8538 125127 122
8539 125130 111
8540 125131 124
8541 125132 131
8542 125133 040
8543 125134 105
8544 125135 122
8545 125136 122
8546 125137 117
8547 125140 122
8548 125141 040
8549 125142 000
8550 $EBPAR: .ASCIZ/?E-BUS PARITY ERROR /
8551 125144 .EVEN
8552
8553 125144 004737 125352 $DPSVT: JSR PC,$10ADR ;SETUP PARAMETERS
8554
8555 $DPOSVR:PUSH R0
8556 .IIF NZ EPTREL, PUSH $TADSP ;PUSH ADDRESS SPACE
8557 125156 104105 DPOS
8558 125160 103417 BCS $DPVRP
8559 .IIF NZ EPTREL, POP $TADSP ;USE SAME ADDRESS SPACE FOR VERIFY
8560 125166 010100 MOV R1,R0
8561 125170 104103 EXAM
8562 125172 103417 BCS $DPVRE
8563 125174 011600 MOV (SP),R0
8564 PUSH R1 ;SAVE ADDRESS
8565 125200 012701 147462 MOV #$DRAM,R1
8566 125204 104052 CMPR36
8567 125206 103415 BCS $DPVRV ;VERIFY ERROR
8568 $DPVRY: POP R1
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 241
SUB11 PAL[KL,SYS] Page 43.1 PDP10 OPERATIONS
8569 $DPVRX: POP R0
8570 EXIT
8571 125214 000137 124064 JMP $EXIT
8572
8573 $DPVRP: ;DEPOSIT HALF OF DEPOSIT VERIFY LOST.
8574 125220 005726 .IIF NZ EPTREL, TST (SP)+ ;ADJUST STACK (REMOVE ADDR. SPACE)
8575 125222 052766 000011 000016 BIS #CBIT!NBIT,16(SP)
8576 125230 000770 BR $DPVRX ;NO, JUST GIVE ERROR RETURN
8577
8578 125232 052766 000005 000016 $DPVRE: BIS #CBIT!ZBIT,16(SP) ;EXAMINE HALF OF DEPOSIT VERIFY LOST
8579 125240 000764 BR $DPVRX
8580
8581 125242 052766 000003 000020 $DPVRV: BIS #CBIT!VBIT,20(SP) ;SET C & V FOR VERIFY ERROR
8582 125250 005737 147564 TST VRBFLG
8583 125254 001755 BEQ $DPVRY
8584 PMSG <\ADDRESS = >
8585 125256 104025 $PMSG
8586 125260 146407 $$CLIT
8587 POP R0
8588 125264 104137 PNTADR
8589 PMSG <DEPOSIT DATA = >
8590 125266 104025 $PMSG
8591 125270 146423 $$CLIT
8592 POP R0
8593 125274 104042 PNT36
8594 PMSG < EXAMINE DATA = >
8595 125276 104025 $PMSG
8596 125300 146443 $$CLIT
8597 125302 012700 147462 MOV #$DRAM,R0
8598 125306 104042 PNT36
8599 125310 104031 PCRLF
8600 EXIT
8601 125312 000137 124064 JMP $EXIT
8602
8603 ;5-BYTE COMPARE ROUTINE, C & V BIT SET IF ERROR
8604
8605 $CMP36: PUSH R1
8606 125320 012702 000005 MOV #5,R2
8607 125324 122021 1$: CMPB (R0)+,(R1)+
8608 125326 001003 BNE 2$
8609 125330 005302 DEC R2
8610 125332 001374 BNE 1$
8611 125334 000403 BR 3$
8612 125336 052766 000003 000016 2$: BIS #CBIT!VBIT,16(SP) ;SET C & V FOR VERIFY ERROR
8613 3$: POP R0 ;POINT TO ACTUAL
8614 EXIT
8615 125346 000137 124064 JMP $EXIT
8616
8617 ;PDP-10 ADDRESS PARAMETER SETUP
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 242
SUB11 PAL[KL,SYS] Page 43.2 PDP10 OPERATIONS
8618
8619 125352 013705 147634 $10ADR: MOV $EMADR,R5 ;SETUP TRAILING PARAMETER PICKUP
8620 125356 012701 147702 MOV #L10ADR+2,R1 ;SETUP 10 ADR BLOCK POINTER
8621 125362 005011 CLR (R1) ;CLEAR HI ADR
8622
8623 125364 012541 MOV (R5)+,-(R1) ;SETUP PDP-10 ADDRESS
8624 125366 011500 MOV (R5),R0 ;POINTER TO DATA BLOCK IN R0
8625 125370 062766 000004 000014 ADD #4,14(SP) ;RETURN OVER TRAILING PARAMETERS
8626 125376 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 243
SUB11 PAL[KL,SYS] Page 44 PDP10 OPERATIONS
8627 ;START MICROCODE
8628
8629 $SM: PUSH R0
8630 125402 104076 MRESET ;RESET KL10
8631 125404 005000 CLR R0 ;SELECT UCODE START ADR
8632 125406 104075 WWADR
8633 125410 104115 DFXCTT ;GET CLOCK GOING
8634 125412 000001 STRCLK
8635
8636 125414 012701 000002 MOV #2,R1
8637 125420 012700 125462 MOV #$SMTAB,R0
8638 1$: PUSH R0
8639 125426 104101 EXCT ;DO TEN INSTR
8640 125430 103410 BCS 2$
8641 POP R0
8642 125434 062700 000005 ADD #5,R0 ;NEXT
8643 125440 005301 DEC R1
8644 125442 001370 BNE 1$
8645
8646 POP R0
8647 EXIT
8648 125446 000137 124064 JMP $EXIT
8649
8650 2$: POP R0
8651 POP R0
8652 $SMERR: EXITERR
8653 125456 000137 124036 JMP $EXITE
8654
8655 $SMTAB: IO10 CONO,APR,,200000 ;IO SYS CLEAR
8656 000000 .IIF B ,I=0
8657 .IIF NB ,I=
8658 000000 .IIF B ,XR=0
8659 .IIF NB ,XR=
8660 000002 BLKO=2
8661 000003 DATAO=3
8662 000000 BLKI=0
8663 000001 DATAI=1
8664 000004 CONO=4
8665 000005 CONI=5
8666 000006 CONSZ=6
8667 000007 CONSO=7
8668 000000 APR=0
8669 000004 PI=4
8670 000010 PAG=10
8671 000014 CCA=14
8672 000000 ADH=0
8673 000000 ADL=0
8674 .IRPC AD1,200000
8675 .IIF GE <ADL-10000>,ADH=ADL/10000
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 244
SUB11 PAL[KL,SYS] Page 44.1 PDP10 OPERATIONS
8676 ADL=10*<ADL&7777>+AD1
8677 .ENDM
8678 770000 .IIF GE <ADL-10000>,ADH=ADL/10000
8679 000002 ADL=10*<ADL&7777>+2
8680 770002 .IIF GE <ADL-10000>,ADH=ADL/10000
8681 000020 ADL=10*<ADL&7777>+0
8682 770020 .IIF GE <ADL-10000>,ADH=ADL/10000
8683 000200 ADL=10*<ADL&7777>+0
8684 770200 .IIF GE <ADL-10000>,ADH=ADL/10000
8685 002000 ADL=10*<ADL&7777>+0
8686 772000 .IIF GE <ADL-10000>,ADH=ADL/10000
8687 020000 ADL=10*<ADL&7777>+0
8688 000002 .IIF GE <ADL-10000>,ADH=ADL/10000
8689 000000 ADL=10*<ADL&7777>+0
8690 IO10 CONO,PI,,10000 ;PI SYS CLEAR
8691 000000 .IIF B ,I=0
8692 .IIF NB ,I=
8693 000000 .IIF B ,XR=0
8694 .IIF NB ,XR=
8695 000002 BLKO=2
8696 000003 DATAO=3
8697 000000 BLKI=0
8698 000001 DATAI=1
8699 000004 CONO=4
8700 000005 CONI=5
8701 000006 CONSZ=6
8702 000007 CONSO=7
8703 000000 APR=0
8704 000004 PI=4
8705 000010 PAG=10
8706 000014 CCA=14
8707 000000 ADH=0
8708 000000 ADL=0
8709 .IRPC AD1,10000
8710 .IIF GE <ADL-10000>,ADH=ADL/10000
8711 ADL=10*<ADL&7777>+AD1
8712 .ENDM
8713 770000 .IIF GE <ADL-10000>,ADH=ADL/10000
8714 000001 ADL=10*<ADL&7777>+1
8715 770001 .IIF GE <ADL-10000>,ADH=ADL/10000
8716 000010 ADL=10*<ADL&7777>+0
8717 770010 .IIF GE <ADL-10000>,ADH=ADL/10000
8718 000100 ADL=10*<ADL&7777>+0
8719 770100 .IIF GE <ADL-10000>,ADH=ADL/10000
8720 001000 ADL=10*<ADL&7777>+0
8721 771000 .IIF GE <ADL-10000>,ADH=ADL/10000
8722 010000 ADL=10*<ADL&7777>+0
8723 125474 .EVEN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 245
SUB11 PAL[KL,SYS] Page 45 PDP10 OPERATIONS
8724 ;PDP-10 INSTRUCTION EXECUTE
8725
8726 125474 104102 $XCT: LODAR
8727 125476 103417 BCS 6$
8728 125500 104115 DFXCTT ;SET CONTINUE BUTTON
8729 125502 000012 CONBUT
8730 125504 104115 DFXCTT ;RUN THE CLOCK
8731 125506 000001 STRCLK
8732
8733 125510 005737 147732 TST RPTFLG ;DOING REPEAT ?
8734 125514 001011 BNE 2$ ;YES, NO CHECK
8735
8736 125516 012701 001750 MOV #1000.,R1
8737 125522 032777 001000 031620 4$: BIT #HALTLP,@.DIAG1
8738 125530 001003 BNE 2$
8739 125532 005301 DEC R1 ;NO, WAITED LONG ENOUGH
8740 125534 001372 BNE 4$
8741 125536 000747 6$: BR $SMERR
8742
8743 2$: EXIT
8744 125540 000137 124064 JMP $EXIT
8745
8746 ;ECLOK - GIVE A COMPLETE EBOX CLOCK
8747
8748 125544 012705 007640 $ECLOK: MOV #4000.,R5
8749
8750 125550 104122 91$: DFSCLK ;STEP RAW CLOCK
8751 125552 104140 DFRDT ;READ CLOCK STATE
8752 125554 000104 104
8753 125556 032777 000004 031536 BIT #BIT2,@.DAT3 ;CLK E BOX SOURCE HIGH ?
8754 125564 001010 BNE 92$
8755 125566 005305 DEC R5
8756 125570 001367 BNE 91$
8757 125572 005737 147732 TST RPTFLG
8758 125576 001003 BNE 92$
8759 125600 052766 000001 000014 BIS #CBIT,14(SP) ;REPORT TIMEOUT
8760
8761 125606 104115 92$: DFXCTT
8762 125610 000004 CECLK
8763 EXIT
8764 125612 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 246
SUB11 PAL[KL,SYS] Page 46 PDP10 OPERATIONS
8765 ;PDP-10 CONTROLLED STOP ROUTINE
8766
8767 $TENSP: PUSH R0
8768 125620 005037 147670 CLR TENRUN ;CLEAR LOGICAL TEN RUNNING FLAG
8769 ;;;;; CLR TENCLK ;CLEAR TEN USING CLOCK FLAG
8770 ;;;;; DON'T CLEAR TENCLK. YOU MIGHT WANT TO CONTINUE THE SYSTEM
8771
8772 125624 012777 010201 031516 MOV #DCOMST!DFUNC!<CLRRUN*1000>,@.DIAG1
8773 125632 004737 141302 JSR PC,$$DFXDN ;CLEAR RUN FLOP
8774
8775 125636 012701 001750 MOV #1000.,R1
8776 125642 032777 001000 031500 1$: BIT #HALTLP,@.DIAG1
8777 125650 001003 BNE 2$ ;TEN RETURNED TO HALT LOOP
8778 125652 005301 DEC R1
8779 125654 001372 BNE 1$
8780 125656 000430 BR 5$ ;FAILED TO RETURN TO HALT LOOP
8781
8782 125660 104140 2$: DFRDT
8783 125662 000131 131
8784 125664 032777 000002 031432 BIT #BIT1,@.DAT2 ;BIT 18, CON CACHE LOOK
8785 125672 001417 BEQ 4$ ;FALSE, CACHE IS NOT ON
8786
8787 125674 012700 104425 MOV #$$CF,R0
8788 125700 104101 EXCT ;EXECUTE CACHE FLUSH
8789 125702 103416 BCS 5$ ;FAILED
8790
8791 125704 012701 001750 MOV #1000.,R1
8792 125710 104140 3$: DFRDT
8793 125712 000110 110
8794 125714 032777 000004 031404 BIT #BIT2,@.DAT1 ;BIT 1, SWEEP BUSY ENABLE
8795 125722 001403 BEQ 4$ ;FINISHED SWEEP
8796 125724 005301 DEC R1
8797 125726 001370 BNE 3$
8798 125730 000403 BR 5$ ;FAILED TO FINISH CACHE SWEEP
8799
8800 4$: POP R0 ;SUCESSFUL RETURN
8801 EXIT
8802 125734 000137 124064 JMP $EXIT
8803
8804 5$: POP R0 ;FAILED RETURN
8805 EXITERR
8806 125742 000137 124036 JMP $EXITE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 247
SUB11 PAL[KL,SYS] Page 47 CLOCK INITIALIZATION, INTERRUPTS
8807 .SBTTL CLOCK INITIALIZATION, INTERRUPTS
8808 .IF DF SAILVR
8809
8810 CLKSTA: PUSH R0
8811 125750 012700 000100 MOV #KWLIV,R0
8812 125754 012720 126054 MOV #CLKINT,(R0)+
8813 125760 012710 000140 MOV #CPUPR,(R0)
8814 125764 005037 157162 CLR KTIMBS ;ASSUME WE'RE NOT KEEPING TIMEBASE
8815 125770 012700 157164 MOV #TIMBAS,R0
8816 125774 005020 CLR (R0)+
8817 125776 005020 CLR (R0)+
8818 126000 005010 CLR (R0)
8819 126002 012700 157172 MOV #TIM11,R0
8820 126006 005020 CLR (R0)+
8821 126010 005020 CLR (R0)+
8822 126012 005010 CLR (R0)
8823 126014 005037 157160 CLR CLKFLG
8824 126020 042737 000300 177546 BIC #300,KWLKS ;CLEAR CLOCK FLAG AND INTERRUPT ENABLE
8825 126026 105737 177546 1$: TSTB KWLKS
8826 126032 100375 BPL 1$ ;LOOP UNTIL CLOCK FLAG COMES ON
8827 126034 042737 000200 177546 BIC #200,KWLKS ;CLEAR CLOCK FLAG
8828 126042 052737 000100 177546 BIS #100,KWLKS ;SET INTERRUPT ENABLE.
8829 POP R0
8830 126052 000207 RTS PC
8831
8832
8833 126054 042737 000200 177546 CLKINT: BIC #200,KWLKS ;CLEAR CLOCK FLAG
8834 126062 005237 157160 INC CLKFLG ;INCREMENT SOFTWARE CLOCK FLAG
8835 126066 005237 157172 INC TIM11
8836 126072 005537 157174 ADC TIM11+2
8837 126076 005537 157176 ADC TIM11+4
8838 126102 005737 152234 TST FSCLKA
8839 126106 001425 BEQ 3$ ;NO FS CLOCK REQUESTS
8840 126110 023737 157176 152232 CMP TIM11+4,FSRTIM+4
8841 126116 003012 BGT 2$
8842 126120 001020 BNE 3$
8843 126122 023737 157174 152230 CMP TIM11+2,FSRTIM+2
8844 126130 003005 BGT 2$
8845 126132 001013 BNE 3$
8846 126134 023737 157172 152226 CMP TIM11,FSRTIM
8847 126142 002407 BLT 3$
8848 2$: PUSH R0
8849 126146 013700 152234 MOV FSCLKA,R0
8850 126152 005037 152234 CLR FSCLKA
8851 126156 004710 JSR PC,@R0
8852 POP R0
8853 126162 005737 157162 3$: TST KTIMBS
8854 126166 001406 BEQ 4$ ;JUMP IF NOT KEEPING A TIMEBASE
8855 126170 005237 157164 INC TIMBAS
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 248
SUB11 PAL[KL,SYS] Page 47.1 CLOCK INITIALIZATION, INTERRUPTS
8856 126174 005537 157166 ADC TIMBAS+2
8857 126200 005537 157170 ADC TIMBAS+4
8858 126204 032777 000004 751616 4$: BIT #DLRTS,@$FSTKS ;SEE IF REQUEST TO SEND IS UP (CLEARED BY INIT)
8859 126212 001002 BNE 5$ ;YES, HAVEN'T BEEN RESET
8860 126214 004737 114040 JSR PC,HANGU1
8861 126220 005737 157142 5$: TST TIMFLG ;DOES KL WANT TIME/DATE FROM BATTERY CLOCK?
8862 126224 001406 BEQ 6$ ;NO
8863 126226 032737 007777 157172 BIT #7777,TIM11 ;IS IT TIME YET? (EVERY 10000 TICS=1.13 SECS)
8864 126234 001002 BNE 6$ ;NO
8865 126236 005237 157140 INC TMSFLG ;TELL C10COP TO STORE THE TIME
8866 126242 000006 6$: RTT ;DISMISS INTERRUPT
8867
8868 .ENDC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 249
KLDCP PAL[KL,SYS] Page 5.4 CLOCK INITIALIZATION, INTERRUPTS
8869
8870 ;KL10 C-Ram/D-Ram functions
8871 .INSRT FD11.PAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 250
FD11 PALII[KL,SYS] Page 1 CLOCK INITIALIZATION, INTERRUPTS
8872 COMMENT ⊗ VALID 00015 PAGES
8873 C REC PAGE DESCRIPTION
8874 C00001 00001
8875 C00003 00002 .SBTTL CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75
8876 C00004 00003 3$: MOV R0,$ECADR SAVE C-RAM ADDRESS
8877 C00006 00004 FIELD PRINT OUT, THIS IS THE C-RAM BIT FIDDLER
8878 C00008 00005 READ THE C-RAM AND PRINT ACTUAL BY E-BUS ARRANGMENT
8879 C00009 00006 JSR PC,$$ECA PRINT C-RAM ADDRESS
8880 C00010 00007 .SBTTL DISPATCH RAM CONSOLE FUNCTIONS
8881 C00011 00008 TTISDO READ "J" FIELD
8882 C00012 00009 TTISDO READ ODD "J" FIELD
8883 C00014 00010 EXAMINE D-RAM SUBROUTINE
8884 C00015 00011 PRINT D-RAM IN LOGICAL FIELD FORMAT
8885 C00017 00012 .SBTTL DEPOSIT C-RAM SUBROUTINE
8886 C00018 00013 C-RAM PRIMARY DECISION TABLE
8887 C00020 00014 C-RAM SECONDARY DECISION TABLES
8888 C00022 00015
8889 C00023 ENDMK
8890 C⊗;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 251
FD11 PALII[KL,SYS] Page 2 CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75
8891 .SBTTL CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75
8892
8893 126244 104226 $EC: DFLEGAL ;FUNCTION LEGAL ?
8894 126246 104016 TTISDL
8895 126250 103402 BCS 8$ ;NON-NUMBER
8896
8897 126252 104021 1$: TTICRA ;READ IN C-RAM ADDRESS
8898 126254 000432 BR 3$
8899
8900 126256 102005 8$: BVC 82$
8901 126260 013700 147724 MOV $ECADR,R0 ;COLON, READ & LIST SAME CRAM ADDRESS
8902 126264 005237 150716 INC $INPTC
8903 126270 000426 BR 33$
8904
8905 126272 104023 82$: TTBTRM
8906
8907 126274 $ALLEC=.
8908 126274 104140 DFRDT ;EXAMINE PRESENT C-RAM OUTPUT
8909 126276 000146 RCRAM2
8910 126300 004737 126452 JSR PC,$ECGET
8911 PUSH $ECADR
8912 126310 104140 DFRDT ;READ HIGH ORDER BITS
8913 126312 000147 RCRAM1
8914 POP R0 ;LOW ORDER TO R0
8915 126316 004737 126452 JSR PC,$ECGET
8916 126322 006300 ASL R0 ;POSITION TO 6-0
8917 126324 006300 ASL R0
8918 126326 000300 SWAB R0
8919 126330 150037 147724 BISB R0,$ECADR ;STUFF LOW ORDER
8920 126334 012700 777777 MOV #-1,R0 ;-1 READS CURRENT C-RAM OUTPUT
8921 126340 000402 BR 33$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 252
FD11 PALII[KL,SYS] Page 3 CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75
8922 126342 010037 147724 3$: MOV R0,$ECADR ;SAVE C-RAM ADDRESS
8923
8924 126346 104074 33$: RCRAM ;READ THE RAM ADDRESS
8925
8926 126350 010037 147716 MOV R0,$ADR1 ;SAVE STARTING ADDRESS OF DATA LIST
8927 126354 005737 147734 TST ALLFLG
8928 126360 001025 BNE 91$
8929 126362 104031 9$: PCRLF ;PRINT OCTAL VALUE OF C-RAM
8930
8931 126364 004737 127026 JSR PC,$$ECA ;PRINT C-RAM ADDRESS
8932
8933 126370 013705 147716 MOV $ADR1,R5 ;GET C-RAM DATA LIST ADDRESS
8934 126374 062705 000012 ADD #12,R5
8935 126400 011504 MOV (R5),R4 ;SAVE SPEC
8936 126402 014500 MOV -(R5),R0 ;PRINT 1ST C-RAM WORD, LAST IN LIST
8937 126404 104035 PNTOCT
8938
8939 126406 014500 MOV -(R5),R0 ;PRINT 2ND C-RAM WORD
8940 126410 104035 PNTOCT
8941
8942 126412 014500 MOV -(R5),R0 ;PRINT 3RD C-RAM WORD
8943 126414 104035 PNTOCT
8944
8945 126416 014500 MOV -(R5),R0 ;PRINT 4TH C-RAM WORD
8946 126420 104035 PNTOCT
8947
8948 126422 014500 MOV -(R5),R0 ;PRINT 5TH C-RAM WORD
8949 126424 104035 PNTOCT
8950
8951 126426 010400 MOV R4,R0 ;PRINT 6TH C-RAM WORD (SPEC)
8952 126430 104047 PNTODT
8953 126432 000002 2
8954
8955 126434 013700 147724 91$: MOV $ECADR,R0
8956 126440 013701 147716 MOV $ADR1,R1
8957 126444 104142 PNTCRM ;PRINT C-RAM BY LOGICAL FIELDS
8958 126446 000137 102262 JMP ALLEXT
8959
8960 126452 017737 030646 147724 $ECGET: MOV @.DAT2,$ECADR ;GET BITS 4,5
8961 126460 117737 030642 147724 MOVB @.DAT1,$ECADR ;GET BITS 0-3
8962 126466 000337 147724 SWAB $ECADR
8963 126472 042737 170077 147724 BIC #170077,$ECADR
8964 126500 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 253
FD11 PALII[KL,SYS] Page 4 CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75
8965 ;FIELD PRINT OUT, THIS IS THE C-RAM BIT FIDDLER
8966
8967 126502 010037 147724 $PCRAM: MOV R0,$ECADR
8968 126506 010137 147716 MOV R1,$ADR1
8969
8970 91$: PMSG <\ LOC/ J T AR AD BR MQ FM SCAD SC FE SH # VMA MEM COND SPEC M\>
8971 126512 104025 $PMSG
8972 126514 146464 $$CLIT
8973
8974 126516 004737 127026 JSR PC,$$ECA ;PRINT C-RAM ADDRESS
8975
8976 126522 012705 130062 $DCTPC: MOV #$CRMD0,R5 ;GET PRIMARY DECISION TABLE ADDRESS
8977 126526 005000 $DCTP1: CLR R0
8978 126530 012504 MOV (R5)+,R4 ;R4=SECONDARY DECISION TABLE ADDRESS
8979 126532 001426 BEQ $END ;WOW WE MADE IT TO THE END
8980
8981 126534 112403 2$: MOVB (R4)+,R3 ;GET A BYTE FROM SECONDARY TABLE
8982 126536 001416 BEQ $NEXT ;GET NEXT FIELD
8983 126540 110302 MOVB R3,R2 ;CALCULATE BYTE LOCATION
8984 126542 106203 ASRB R3 ;/2
8985 126544 106203 ASRB R3 ;/4
8986 126546 106203 ASRB R3 ;/8
8987 126550 063703 147716 ADD $ADR1,R3
8988 126554 111303 MOVB (R3),R3 ;FETCH THE DATA BYTE
8989 126556 142702 000370 BICB #370,R2 ;R2=BIT LOCATION
8990 126562 106203 3$: ASRB R3 ;CALCULATE BIT LOCATION
8991 126564 005302 DEC R2 ;FOUND BIT YET
8992 126566 002375 BGE 3$
8993 126570 006100 ROL R0 ;PLACE BIT IN R0
8994 126572 000760 BR 2$
8995
8996 126574 112501 $NEXT: MOVB (R5)+,R1 ;R1=OCTAL CHARACTERS IN NUMBER
8997 126576 104046 PNTODC ;PRINT THE NUMBER
8998 126600 112501 MOVB (R5)+,R1 ;R1=POST SPACING PARAMETER
8999 126602 004737 117776 JSR PC,$PNTSPC
9000 126606 000747 BR $DCTP1
9001 126610 013705 147716 $END: MOV $ADR1,R5 ;SPECIAL PRINT OF SPEC FIELD
9002 126614 116500 000012 MOVB 12(R5),R0
9003 126620 104047 PNTODT
9004 126622 000002 2
9005 126624 104032 PSPACE
9006 126626 116500 000004 MOVB 4(R5),R0
9007 126632 104053 SHIFTR
9008 126634 000004 4
9009 126636 042700 177776 BIC #177776,R0
9010 126642 104036 PNTOCS
9011 126644 005737 147734 TST ALLFLG
9012 126650 001401 BEQ 1$
9013 126652 104031 PCRLF
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 254
FD11 PALII[KL,SYS] Page 4.1 CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75
9014 1$: EXIT
9015 126654 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 255
FD11 PALII[KL,SYS] Page 5 CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75
9016 ;READ THE C-RAM AND PRINT ACTUAL BY E-BUS ARRANGMENT
9017
9018 126660 104226 $RC: DFLEGAL ;FUNCTION LEGAL ?
9019 126662 104016 TTISDL
9020 126664 103443 BCS 3$ ;NON-NUMBER
9021 126666 000426 BR 2$ ;NUMBER, MUST BE ADDRESS
9022
9023 126670 012700 000147 1$: MOV #RCRAM1,R0
9024 126674 004537 127010 JSR R5,$RCP ;FIRST 36
9025 126700 012700 000146 MOV #RCRAM2,R0
9026 126704 004537 127010 JSR R5,$RCP ;2ND 36
9027 126710 012700 000145 MOV #RCRAM3,R0
9028 126714 004537 127010 JSR R5,$RCP ;3RD 36
9029 126720 012700 000144 MOV #RCRAM4,R0
9030 126724 004537 127010 JSR R5,$RCP ;4TH 36
9031 126730 005737 147732 TST RPTFLG
9032 126734 001001 BNE 11$
9033 126736 104031 PCRLF
9034 126740 000137 100230 11$: JMP $KONSL
9035
9036 126744 104021 2$: TTICRA ;GET C-RAM ADDRESS
9037 126746 010037 147724 MOV R0,$ECADR
9038 126752 013700 147724 5$: MOV $ECADR,R0
9039
9040 126756 104075 WWADR ;WRITE C-RAM ADDRESS
9041
9042 126760 104122 DFSCLK
9043 126762 104122 DFSCLK
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 256
FD11 PALII[KL,SYS] Page 6 CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75
9044 126764 004737 127026 JSR PC,$$ECA ;PRINT C-RAM ADDRESS
9045 126770 104032 PSPACE
9046
9047 126772 000736 BR 1$
9048
9049 126774 102003 3$: BVC 32$
9050 126776 005237 150716 INC $INPTC ;COLON, READ SAME C-RAM ADDRESS
9051 127002 000763 BR 5$
9052
9053 127004 104023 32$: TTBTRM ;READ PRESENT C-RAM ADDRESS
9054 127006 000730 BR 1$
9055
9056 127010 012701 147710 $RCP: MOV #.DFRDA,R1
9057 127014 104117 DFRDMV ;READ C-RAM
9058
9059 127016 010100 MOV R1,R0
9060 127020 104042 PNT36 ;PRINT IT
9061 127022 104032 PSPACE
9062 127024 000205 1$: RTS R5
9063
9064 ;PRINT C-RAM ADDRESS
9065
9066 127026 013700 147724 $$ECA: MOV $ECADR,R0
9067 127032 104047 PNTODT
9068 127034 000004 4
9069 127036 104033 PSLASH
9070 127040 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 257
FD11 PALII[KL,SYS] Page 7 DISPATCH RAM CONSOLE FUNCTIONS
9071 .SBTTL DISPATCH RAM CONSOLE FUNCTIONS
9072
9073 ;LOAD D-RAM SUBROUTINE
9074
9075 127042 000137 113452 $DDNPR: JMP $PARAM
9076
9077 127046 104226 $DD: DFLEGAL ;FUNCTION LEGAL ?
9078 127050 104017 TTISDO ;GET THE ADDRESS
9079 127052 032700 000001 BIT #1,R0
9080 127056 001005 BNE 98$ ;MUST BE EVEN ADDRESS
9081
9082 127060 010037 147720 MOV R0,$ADR ;SAVE THE ADDRESS
9083
9084 127064 020027 000776 CMP R0,#776 ;TEST ADDRESS SIZE
9085 127070 003402 BLE 2$
9086 127072 000137 113350 98$: JMP ADRERR
9087
9088 127076 104015 2$: TTIBRK ;READ A CHARACTER
9089 127100 103760 BCS $DDNPR ;NO COLON
9090
9091 127102 120027 000072 CMPB R0,#': ;IS IT A COLON
9092 127106 001403 BEQ 21$
9093 127110 120027 000057 CMPB R0,#'/
9094 127114 001352 BNE $DDNPR
9095
9096 127116 004737 127434 21$: JSR PC,$DDA ;READ A FIELD
9097 127122 010037 147462 MOV R0,$DRAM ;STORE "A" FIELD
9098
9099 127126 004737 127450 JSR PC,$DDB
9100 127132 050037 147462 BIS R0,$DRAM ;STORE "B" FIELD
9101
9102 127136 104017 TTISDO ;READ "P" FIELD
9103 127140 042700 177776 BIC #177776,R0 ;SAVE "P" FIELD
9104
9105 127144 104054 SHIFTL
9106 127146 000005 5
9107 127150 050037 147462 BIS R0,$DRAM
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 258
FD11 PALII[KL,SYS] Page 8 DISPATCH RAM CONSOLE FUNCTIONS
9108 127154 104017 TTISDO ;READ "J" FIELD
9109
9110 127156 020027 001777 CMP R0,#1777
9111 127162 003404 BLE 3$
9112 127164 $DDSIZ=.
9113 PMSG <\J SIZE ERR>
9114 127164 104025 $PMSG
9115 127166 146567 $$CLIT
9116 127170 000137 100004 JMP $CNTLC
9117
9118 127174 010037 147470 3$: MOV R0,$DRAM+6 ;SAVE FOR COMMON
9119 127200 042700 177760 BIC #177760,R0
9120 127204 050037 147462 BIS R0,$DRAM ;SAVE "J" EVEN
9121
9122 ;DONE WITH EVEN NOW PROMPT FOR ODD
9123
9124 $DRAMO: PMSG < DD > ;PROMPT
9125 127210 104025 $PMSG
9126 127212 146603 $$CLIT
9127 127214 013700 147720 MOV $ADR,R0 ;ODD ADDRESS
9128 127220 005200 INC R0
9129
9130 127222 104036 PNTOCS
9131
9132 PMSG <:←> ;PRINT COLON, OUTPUT
9133 127224 104025 $PMSG
9134 127226 146610 $$CLIT
9135
9136 127230 104004 TTILIN
9137 127232 103703 BCS $DDNPR
9138
9139 127234 004737 127434 JSR PC,$DDA ;READ ODD "A" FIELD
9140 127240 010037 147464 MOV R0,$DRAM+2 ;INSERT ODD "A" FIELD
9141
9142 127244 004737 127450 JSR PC,$DDB ;READ ODD "B" FIELD
9143 127250 050037 147464 BIS R0,$DRAM+2
9144
9145 127254 104017 TTISDO ;READ ODD "P" FIELD
9146
9147 127256 042700 177776 BIC #177776,R0
9148
9149 127262 104054 SHIFTL
9150 127264 000005 5
9151 127266 050037 147464 BIS R0,$DRAM+2
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 259
FD11 PALII[KL,SYS] Page 9 DISPATCH RAM CONSOLE FUNCTIONS
9152 127272 104017 TTISDO ;READ ODD "J" FIELD
9153
9154 127274 020027 001777 CMP R0,#1777
9155 127300 003331 BGT $DDSIZ
9156
9157 127302 010037 147472 1$: MOV R0,$DRAM+10 ;SAVE FOR COMMON
9158 127306 042700 177760 BIC #177760,R0
9159 127312 050037 147464 BIS R0,$DRAM+2 ;SAVE "J" ODD
9160 127316 042737 000017 147470 BIC #17,$DRAM+6
9161 127324 042737 000017 147472 BIC #17,$DRAM+10
9162 127332 023737 147470 147472 CMP $DRAM+6,$DRAM+10 ;ARE BOTH COMMONS THE SAME ?
9163 127340 001410 BEQ 2$
9164 127342 022737 000254 147720 CMP #254,$ADR ;IS THIS JRST/JFCL ?
9165 127350 001404 BEQ 2$ ;YES, COMMONS MAY BE DIFFERENT
9166 PMSG <\J CMN ERR>
9167 127352 104025 $PMSG
9168 127354 146613 $$CLIT
9169 127356 000137 100004 JMP $CNTLC
9170
9171 127362 013700 147472 2$: MOV $DRAM+10,R0 ;USE ODD COMMON
9172
9173 SR R0,6
9174 127402 010037 147466 MOV R0,$DRAM+4 ;INSERT "J" COMMON
9175
9176 127406 013700 147720 MOV $ADR,R0
9177 127412 012701 147462 MOV #$DRAM,R1
9178
9179 127416 104076 MRESET
9180
9181 127420 104127 WDRAM ;WRITE THE D-RAM
9182
9183 127422 104031 PCRLF
9184 127424 000137 100230 JMP @#$KONSL
9185
9186 127430 000137 113452 99$: JMP $OCTN
9187
9188 127434 104017 $DDA: TTISDO ;READ "A" FIELD
9189 127436 104054 SHIFTL
9190 127440 000013 11.
9191 127442 042700 143777 BIC #143777,R0
9192 127446 000207 RTS PC
9193
9194 127450 104017 $DDB: TTISDO ;READ "B" FIELD
9195 127452 104054 SHIFTL
9196 127454 000010 8.
9197 127456 042700 174377 BIC #174377,R0
9198 127462 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 260
FD11 PALII[KL,SYS] Page 10 DISPATCH RAM CONSOLE FUNCTIONS
9199 ;EXAMINE D-RAM SUBROUTINE
9200
9201 127464 000137 113452 $EDNOA: JMP $OCTN
9202 127470 000137 113350 $EDODD: JMP ADRERR
9203
9204 127474 104226 $ED: DFLEGAL ;FUNCTION LEGAL ?
9205 127476 104016 TTISDL
9206 127500 103413 BCS 5$
9207
9208 127502 104017 TTISDO ;READ THE ADDRESS
9209 127504 032700 000001 BIT #1,R0
9210 127510 001367 BNE $EDODD ;MUST BE EVEN ADDRESS
9211 127512 010037 147722 MOV R0,$EDADR
9212 127516 020027 000777 4$: CMP R0,#777 ;TEST FOR HIGHEST ADDRESS
9213 127522 003414 BLE 2$
9214 127524 000137 113350 41$: JMP ADRERR
9215
9216 127530 102005 5$: BVC 52$
9217 127532 013700 147722 51$: MOV $EDADR,R0 ;COLON, EXAMINE SAME DRAM ADDRESS
9218 127536 005237 150716 INC $INPTC
9219 127542 000765 BR 4$
9220
9221 127544 104023 52$: TTBTRM
9222 127546 013700 147722 MOV $EDADR,R0
9223 127552 000761 BR 4$
9224
9225 127554 010037 147722 2$: MOV R0,$EDADR
9226
9227 127560 104076 MRESET
9228
9229 127562 104126 RDRAM ;READ D-RAM
9230
9231 127564 010001 MOV R0,R1
9232 127566 013700 147722 MOV $EDADR,R0
9233
9234 127572 104143 PNTDRM ;PRINT D-RAM
9235
9236 127574 000137 100230 JMP $KONSL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 261
FD11 PALII[KL,SYS] Page 11 DISPATCH RAM CONSOLE FUNCTIONS
9237 ;PRINT D-RAM IN LOGICAL FIELD FORMAT
9238
9239 127600 010005 $PDRAM: MOV R0,R5
9240 PMSG <\ADR: A B P J\>
9241 127602 104025 $PMSG
9242 127604 146626 $$CLIT
9243
9244 127606 016100 000004 MOV 4(R1),R0 ;POSITION COMMON J-FIELD
9245 127612 104054 SHIFTL
9246 127614 000006 6 ;FOR PRINTING
9247 127616 010002 MOV R0,R2
9248
9249 127620 005004 CLR R4
9250
9251 127622 010500 1$: MOV R5,R0 ;PRINT D-RAM ADDRESS
9252 127624 104047 PNTODT
9253 127626 000003 3
9254 127630 104033 PSLASH
9255 127632 104032 PSPACE
9256
9257 127634 011100 MOV (R1),R0 ;PRINT A-FIELD
9258 127636 104053 SHIFTR
9259 127640 000013 11.
9260 127642 104030 PNTNBR
9261 127644 104032 PSPACE
9262
9263 127646 011100 MOV (R1),R0 ;PRINT B-FIELD
9264 127650 104053 SHIFTR
9265 127652 000010 8.
9266 127654 104030 PNTNBR
9267 127656 104032 PSPACE
9268
9269 127660 011100 MOV (R1),R0 ;PRINT PARITY
9270 127662 104053 SHIFTR
9271 127664 000005 5
9272 127666 042700 177776 BIC #177776,R0
9273 127672 104030 PNTNBR
9274 127674 104032 PSPACE
9275
9276 127676 012100 MOV (R1)+,R0 ;PRINT J-FIELD
9277 127700 042700 177760 BIC #177760,R0
9278 127704 050200 BIS R2,R0
9279 127706 104047 PNTODT
9280 127710 000004 4
9281
9282 127712 104031 PCRLF
9283 127714 005704 TST R4 ;COMPLETED D-RAM PAIR ?
9284 127716 001003 BNE 2$
9285
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 262
FD11 PALII[KL,SYS] Page 11.1 DISPATCH RAM CONSOLE FUNCTIONS
9286 127720 005204 INC R4 ;NO, SET FLAG
9287 127722 005205 INC R5 ;SETUP ODD ADDRESS
9288 127724 000736 BR 1$ ;GO DO ODD PRINTOUT
9289
9290 2$: EXIT
9291 127726 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 263
FD11 PALII[KL,SYS] Page 12 DEPOSIT C-RAM SUBROUTINE
9292 .SBTTL DEPOSIT C-RAM SUBROUTINE
9293
9294 127732 000137 113452 $DCNCL: JMP $PARAM
9295
9296 127736 104226 $DC: DFLEGAL ;FUNCTION LEGAL ?
9297 127740 104021 TTICRA
9298 127742 010037 147720 2$: MOV R0,$ADR ;SAVE ADDRESS
9299 127746 104015 TTIBRK ;GET THE COLON
9300 127750 103770 BCS $DCNCL
9301 127752 120027 000072 CMPB R0,#':
9302 127756 001403 BEQ 20$
9303 127760 120027 000057 CMPB R0,#'/
9304 127764 001362 BNE $DCNCL ;NO COLON
9305 127766 012705 150004 20$: MOV #$TTSAV,R5 ;CLEAR STORAGE
9306 127772 005025 CLR (R5)+
9307 127774 005025 CLR (R5)+
9308 127776 005025 CLR (R5)+
9309 130000 005025 CLR (R5)+
9310 130002 005025 CLR (R5)+
9311 130004 005015 CLR (R5)
9312 130006 012704 000005 MOV #5,R4
9313 130012 104016 4$: TTISDL
9314 130014 103413 BCS 3$ ;USE 0'S AFTER FIRST NON-NUMBER
9315 130016 104010 TTCOCT
9316 130020 010045 MOV R0,-(R5)
9317 130022 005304 DEC R4
9318 130024 001372 BNE 4$
9319 130026 104016 TTISDL
9320 130030 103405 BCS 3$
9321 130032 104010 TTCOCT
9322 130034 042700 177740 BIC #177740,R0
9323 130040 010037 150016 MOV R0,$TTSAV+12
9324 130044 013700 147720 3$: MOV $ADR,R0
9325 130050 012701 150004 MOV #$TTSAV,R1
9326 130054 104073 WCRAM
9327 130056 000137 100230 JMP @#$KONSL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 264
FD11 PALII[KL,SYS] Page 13 DEPOSIT C-RAM SUBROUTINE
9328 ;C-RAM PRIMARY DECISION TABLE
9329 ;
9330 130062 130160 $CRMD0: .WORD $FJ ;J FIELD
9331 130064 004
9332 130065 001 .BYTE 4,1 ;CHARACTERS , POST SPACING
9333
9334 130066 130174 .WORD $FT ;T FIELD
9335 130070 001
9336 130071 001 .BYTE 1,1
9337
9338 130072 130200 .WORD $FAR ;AR FIELD
9339 130074 002
9340 130075 001 .BYTE 2,1
9341
9342 130076 130210 .WORD $FAD ;AD FIELD
9343 130100 004
9344 130101 001 .BYTE 4,1
9345
9346 130102 130224 .WORD $FBR ;BR FIELD
9347 130104 001
9348 130105 002 .BYTE 1,2
9349
9350 130106 130230 .WORD $FMQ ;MQ FIELD
9351 130110 001
9352 130111 002 .BYTE 1,2
9353
9354 130112 130232 .WORD $FFM ;FM FIELD
9355 130114 001
9356 130115 002 .BYTE 1,2
9357
9358 130116 130236 .WORD $FSCAD ;SCAD FIELD
9359 130120 003
9360 130121 002 .BYTE 3,2
9361
9362 130122 130250 .WORD $FSC ;SC FIELD
9363 130124 001
9364 130125 002 .BYTE 1,2
9365
9366 130126 130252 .WORD $FFE ;FE FIELD
9367 130130 001
9368 130131 002 .BYTE 1,2
9369
9370 130132 130254 .WORD $FSH ;SH FIELD
9371 130134 001
9372 130135 001 .BYTE 1,1
9373
9374 130136 130260 .WORD $FNUM ;NUM FIELD
9375 130140 003
9376 130141 002 .BYTE 3,2
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 265
FD11 PALII[KL,SYS] Page 13.1 DEPOSIT C-RAM SUBROUTINE
9377
9378 130142 130272 .WORD $FVMA ;VMA FIELD
9379 130144 001
9380 130145 002 .BYTE 1,2
9381
9382 130146 130276 .WORD $FMEM ;MEM FIELD
9383 130150 002
9384 130151 003 .BYTE 2,3
9385
9386 130152 130304 .WORD $FCOND ;COND FIELD
9387 130154 002
9388 130155 003 .BYTE 2,3
9389
9390 130156 000000 .WORD 0 ;END OF TABLE WORD
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 266
FD11 PALII[KL,SYS] Page 14 DEPOSIT C-RAM SUBROUTINE
9391 ;C-RAM SECONDARY DECISION TABLES
9392
9393 130160 112
9394 130161 111 $FJ: .BYTE 74.,73. ;J00(5), J01(6)
9395 130162 110
9396 130163 107 .BYTE 72.,71. ;J02(7), J03(8)
9397 130164 106
9398 130165 105 .BYTE 70.,69. ;J04(9), J05(10)
9399 130166 104
9400 130167 103 .BYTE 68.,67. ;J06(11), J07(12)
9401 130170 102
9402 130171 101 .BYTE 66.,65. ;J08(13), J09(14)
9403 130172 100
9404 130173 000 .BYTE 64.,0 ;J10(15)
9405
9406 130174 003
9407 130175 001 $FT: .BYTE 3.,1. ;T00(76), T01(78)
9408 130176 000
9409 130177 000 .BYTE 0,0
9410
9411 130200 053
9412 130201 013 $FAR: .BYTE 43.,11. ;ARXM SEL4(36), ARXM SEL2(68)
9413 130202 011
9414 130203 042 .BYTE 9.,34. ;ARXM SEL1(70), ARM SEL4(45)
9415 130204 017
9416 130205 015 .BYTE 15.,13. ;ARM SEL2(64), ARM SEL1(66)
9417 130206 000
9418 130207 000 .BYTE 0,0
9419
9420 130210 063
9421 130211 057 $FAD: .BYTE 51.,47. ;ADB SEL2(28), ADB SEL1(32)
9422 130212 066
9423 130213 065 .BYTE 54.,53. ;ADA DIS(25), ADA SEL2(26)
9424 130214 064
9425 130215 005 .BYTE 52.,5. ;ADA SEL1(27), AD CRY(74)
9426 130216 067
9427 130217 073 .BYTE 55.,59. ;AD BOOLE(24), AD SEL 8 (20)
9428 130220 072
9429 130221 071 .BYTE 58.,57. ;AD SEL 4 (21), AD SEL 2 (22)
9430 130222 070
9431 130223 000 .BYTE 56.,0 ;AD SEL 1 (23)
9432
9433 130224 031
9434 130225 033 $FBR: .BYTE 25.,27. ;BRX LOAD(54), BR LOAD(52)
9435 130226 000
9436 130227 000 .BYTE 0,0
9437
9438 130230 077
9439 130231 000 $FMQ: .BYTE 63.,0 ;MQ SEL(16)
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 267
FD11 PALII[KL,SYS] Page 14.1 DEPOSIT C-RAM SUBROUTINE
9440
9441 130232 027
9442 130233 026 $FFM: .BYTE 23.,22. ;FM ADR SEL4(56), FM ADR SEL2(57)
9443 130234 025
9444 130235 000 .BYTE 21.,0 ;FM ADR SEL1(58)
9445
9446 130236 045
9447 130237 023 $FSCAD: .BYTE 37.,19. ;SCADB SEL2(42), SCADB SEL1(60)
9448 130240 117
9449 130241 047 .BYTE 79.,39. ;SCADA DIS(0), SCADA SEL2(40)
9450 130242 046
9451 130243 116 .BYTE 38.,78. ;SCADA SEL1(41), SCAD 4(1)
9452 130244 115
9453 130245 114 .BYTE 77.,76. ;SCAD 2(2), SCAD 1(3)
9454 130246 000
9455 130247 000 .BYTE 0,0
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 268
FD11 PALII[KL,SYS] Page 15 DEPOSIT C-RAM SUBROUTINE
9456
9457 130250 021
9458 130251 000 $FSC: .BYTE 17.,0 ;SCM SEL 2(62)
9459
9460 130252 113
9461 130253 000 $FFE: .BYTE 75.,0 ;FE LOAD(4)
9462
9463 130254 041
9464 130255 040 $FSH: .BYTE 33.,32. ;SH/ARMM SEL2(46), SH/ARMM SEL1(47)
9465 130256 000
9466 130257 000 .BYTE 0,0
9467
9468 130260 062
9469 130261 061 $FNUM: .BYTE 50.,49. ;#00(29), #01(30)
9470 130262 060
9471 130263 056 .BYTE 48.,46. ;#02(31), #03(33)
9472 130264 055
9473 130265 054 .BYTE 45.,44. ;#04(34), #05(35)
9474 130266 052
9475 130267 051 .BYTE 42.,41. ;#06(37), #07(38)
9476 130270 050
9477 130271 000 .BYTE 40.,0 ;#08(39)
9478
9479 130272 043
9480 130273 007 $FVMA: .BYTE 35.,7. ;VMA SEL 2(44), VMA SEL 1(72)
9481 130274 000
9482 130275 000 .BYTE 0,0
9483
9484 130276 037
9485 130277 036 $FMEM: .BYTE 31.,30. ;MEM 00(48), MEM 01(49)
9486 130300 035
9487 130301 034 .BYTE 29.,28. ;MEM 02(50), MEM 03(51)
9488 130302 000
9489 130303 000 .BYTE 0,0
9490
9491 130304 076
9492 130305 075 $FCOND: .BYTE 62.,61. ;COND 00(17), COND 01(18)
9493 130306 074
9494 130307 032 .BYTE 60.,26. ;COND 02(19), COND 03(53)
9495 130310 030
9496 130311 024 .BYTE 24.,20. ;COND 04(55), COND 05(59)
9497 130312 000
9498 130313 000 .BYTE 0,0
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 269
KLDCP PAL[KL,SYS] Page 5.5 DEPOSIT C-RAM SUBROUTINE
9499
9500 ;Dectape
9501 .INSRT DTA11.PAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 270
DTA11 PAL[KL,SYS] Page 1 DEPOSIT C-RAM SUBROUTINE
9502 COMMENT ⊗ VALID 00027 PAGES
9503 C REC PAGE DESCRIPTION
9504 C00001 00001
9505 C00003 00002 .SBTTL PROGRAM FILE LOADER, 4-SEPT-75
9506 C00008 00003 PROCESS FILENAME.EXT FROM INPUT BUFFER
9507 C00011 00004 DECTAPE/RP04/FLOPPY LOADER START
9508 C00013 00005 LLDONE: MOV R4,DVCNT RESAVE POINTERS
9509 C00015 00006 LDPRO2: JMP ACTLDC LOAD TYPE ERROR
9510 C00017 00007 LDCKSM: TST LDOCTF LOADING OCTAL ?
9511 C00019 00008 LOAD DONE ROUTINE PDP11 LOAD ROUTINE
9512 C00021 00009 3$: TST VERIFY
9513 C00022 00010 PDP-11 BINARY LOAD ROUTINE
9514 C00024 00011 3$: PUSH R0
9515 C00025 00012 KL10 LOAD D-RAM ROUTINE
9516 C00027 00013 KL10 C-RAM ZERO
9517 C00031 00014 2$: MOV LDADR,R0 SELECT C-RAM STARTING ADDRESS
9518 C00032 00015 LOAD TEN CORE ZERO
9519 C00034 00016 LOAD TEN DATA
9520 C00036 00017 LD10VR: BMI LD10ER N-BIT SET DEPOSIT FAILED
9521 C00037 00018 DEVICE FILE DIRECTORY LOOKUP
9522 C00039 00019 1$: MOV (R0)+,DIRST0 STORE RAD50 NAME
9523 C00041 00020 DECTAPE/FLOPPY DIRECTORY ROUTINE
9524 C00042 00021 READ DEVICE FRAME SUBROUTINE
9525 C00044 00022 DVEOF: TST LDCNTL EOF, PRINTING A HELP FILE ?
9526 C00045 00023 RAD50 UNPACK SUBROUTINE
9527 C00047 00024 DECTAPE READ/WRITE FILE ROUTINES
9528 C00048 00025 DECTAPE DEVICE READ/WRITE ROUTINE
9529 C00050 00026 DTSRA: ADD #3,@#TCDT +3 TO TCDT
9530 C00053 00027 .SBTTL ASCR50 ASCII TO RAD50 CONVERSION ROUTINE
9531 C00055 ENDMK
9532 C⊗;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 271
DTA11 PAL[KL,SYS] Page 2 PROGRAM FILE LOADER, 4-SEPT-75
9533 .SBTTL PROGRAM FILE LOADER, 4-SEPT-75
9534
9535 ;LOAD CONTROL FLAG WORD "LDCNTL"
9536 ;BIT15=1 IS HELP, PRINT FILE READ
9537 ;WORD = 0 .A10, PDP-10 LOAD
9538 ; 1 .A11, PDP-11 LOAD
9539 ; 2 .RAM, KL10 C-RAM ZERO
9540 ; 3 .RAM, KL10 C-RAM LOAD
9541 ; 4 .RAM, KL10 D-RAM LOAD
9542 ; 5 .BIN, PDP-11 BIN LOAD
9543 ; 6 .D10, PDP-11 LOAD DSKDMP BOOTSTRAP .D10 FILE
9544 ;ACT10 .BIN LOADED AS .A11
9545 ; .SAV LOADED AS .A10
9546
9547 ;PROGRAM DETERMINATION & LOAD CONTROL INITIALIZATION
9548
9549 130314 104206 DVLOAD: NAMEXT ;SETUP NAME.EXT
9550 130316 005700 TST R0 ;ANY EXT ?
9551 130320 001043 BNE 4$ ;YES
9552 130322 105737 147620 TSTB JFILEF ;DOING "J" COMMAND ?
9553 130326 001405 BEQ 50$ ;NO
9554 130330 012704 046503 MOV #"CM,R4 ;YES, DEFAULT EXT IS "CMD"
9555 130334 012705 020104 MOV #"D ,R5
9556 130340 000427 BR 52$
9557
9558 130342 105737 147624 50$: TSTB IFILEF ;DOING "I" COMMAND ?
9559 130346 001405 BEQ 51$ ;NO
9560 130350 012704 041503 MOV #"CC,R4 ;YES, DEFAULT EXT IS "CCL"
9561 130354 012705 020114 MOV #"L ,R5
9562 130360 000417 BR 52$
9563
9564 130362 013704 150732 51$: MOV LDOVRD,R4 ;ANY LOAD EXT OVERRIDE ?
9565 130366 003403 BLE 53$ ;IF NOT, USE "A10"
9566 130370 022704 000007 CMP #7,R4
9567 130374 002002 BGE 54$ ;BRANCH UNLESS OUT OF BOUNDS
9568 130376 012704 000001 53$: MOV #1,R4
9569 130402 005304 54$: DEC R4 ;RESULT OF 0=A10,1=A11,2,3,4=RAM,5=BIN,6=D10(DSKDMP)
9570 130404 006304 ASL R4 ;DOUBLE R4 (SINCE WE NEED 4 BYTES PER ENTRY)
9571 130406 006304 ASL R4 ;DOUBLE AGAIN
9572 130410 016405 130646 MOV DEFEXT+2(R4),R5 ;SECOND 2 CHARACTERS OF DEFAULT EXT.
9573 130414 016404 130644 MOV DEFEXT(R4),R4
9574 130420 010437 151166 52$: MOV R4,EXTBF
9575 130424 010537 151170 MOV R5,EXTBF+2
9576 130430 012703 150734 4$: MOV #LDCNTL,R3
9577 130434 005713 TST (R3) ;IS THIS "HELP"
9578 130436 100451 BMI 12$ ;BRANCH IF "HELP". NO DEFAULT EXTENSION.
9579 130440 012704 147627 MOV #TEMP+1,R4
9580 130444 012705 151170 MOV #EXTBF+2,R5
9581 130450 111514 MOVB (R5),(R4) ;MAKE A WORD OUT OF 2ND & 3RD CHAR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 272
DTA11 PAL[KL,SYS] Page 2.1 PROGRAM FILE LOADER, 4-SEPT-75
9582 130452 114544 MOVB -(R5),-(R4)
9583 130454 122745 000101 CMPB #'A,-(R5) ;IS FIRST CHAR AN "A" ?
9584 130460 001420 BEQ 6$ ;BR IF YES
9585 130462 122715 000102 CMPB #'B,(R5) ;IS FIRST CHAR A "B" ?
9586 130466 001446 BEQ 14$ ;BR IF YES
9587 130470 122715 000123 CMPB #'S,(R5) ;IS FIRST CHAR AN "S" ?
9588 130474 001451 BEQ 16$ ;BR IF YES
9589 130476 122715 000122 CMPB #'R,(R5) ;IS FIRST CHAR AN "R" ?
9590 130502 001422 BEQ 66$ ;BR IF YES
9591 130504 122715 000104 CMPB #'D,(R5) ;IS FIRST CHAR A "D" ?
9592 130510 001447 BEQ 21$
9593 130512 005737 150732 5$: TST LDOVRD ;ANY LOAD EXT OVERRIDE ?
9594 130516 001021 BNE 12$ ;YES
9595 130520 000566 BR $$$NAM ;NAME.EXT ERR
9596
9597 130522 022714 030061 6$: CMP #"10,(R4) ;HERE IS IF FIRST CHARACTER IS AN "A"
9598 130526 001406 BEQ 7$ ;BR IF ".A10"
9599 130530 022714 030461 CMP #"11,(R4)
9600 130534 001366 BNE 5$ ;BR IF NOT "A11"
9601 130536 012713 000001 MOV #1,(R3) ;"A11"
9602 130542 000407 BR 12$
9603
9604 130544 005013 7$: CLR (R3) ;A10. SETUP LOAD CONTROL
9605 130546 000405 BR 12$
9606
9607 130550 022714 046501 66$: CMP #"AM,(R4) ;"R" SEEN
9608 130554 001356 BNE 5$ ;BR IF NOT ".RAM"
9609 130556 012713 000002 MOV #2,(R3) ;"RAM"
9610 130562 005737 150732 12$: TST LDOVRD ;ANY LOAD EXT OVERRIDE ?
9611 130566 001404 BEQ 20$ ;NO
9612 130570 013700 150732 MOV LDOVRD,R0 ;SET LOAD CONTROL ACCORDINGLY
9613 130574 005300 DEC R0
9614 130576 010013 MOV R0,(R3)
9615 130600 000137 133350 20$: JMP DEVFIL ;GO GET FILE & LOAD
9616
9617 130604 022714 047111 14$: CMP #"IN,(R4) ;IS EXTENSION ".BIN" ?
9618 130610 001340 BNE 5$ ;BR IF NO
9619 130612 012713 000005 MOV #5,(R3) ;YES, SET LOAD CONTROL
9620 130616 000761 BR 12$
9621
9622 130620 022714 053101 16$: CMP #"AV,(R4) ;IS EXTENSION ".SAV" ?
9623 130624 001747 BEQ 7$ ;YES, ACT10 TREATS AS ".A10"
9624 130626 000731 BR 5$
9625
9626 130630 022714 030061 21$: CMP #"10,(R4) ;IS EXTENSION ".D10" ?
9627 130634 001326 BNE 5$ ;NO, GO REPORT ERROR
9628 130636 012713 000006 MOV #6,(R3) ;YES, SET LOAD CONTROL
9629 130642 000747 BR 12$
9630
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 273
DTA11 PAL[KL,SYS] Page 2.2 PROGRAM FILE LOADER, 4-SEPT-75
9631 130644 101
9632 130645 061
9633 130646 060
9634 130647 040
9635 DEFEXT: .ASCII /A10 /
9636 130650 101
9637 130651 061
9638 130652 061
9639 130653 040
9640 .ASCII /A11 /
9641 130654 122
9642 130655 101
9643 130656 115
9644 130657 040
9645 .ASCII /RAM /
9646 130660 122
9647 130661 101
9648 130662 115
9649 130663 040
9650 .ASCII /RAM /
9651 130664 122
9652 130665 101
9653 130666 115
9654 130667 040
9655 .ASCII /RAM /
9656 130670 102
9657 130671 111
9658 130672 116
9659 130673 040
9660 .ASCII /BIN /
9661 130674 104
9662 130675 061
9663 130676 060
9664 130677 040
9665 .ASCII /D10 / ;FOR DSKDMP BOOT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 274
DTA11 PAL[KL,SYS] Page 3 PROGRAM FILE LOADER, 4-SEPT-75
9666 ;PROCESS FILENAME.EXT FROM INPUT BUFFER
9667
9668 130700 012700 151160 $NAMEXT:MOV #NAMBF,R0 ;CLEAR NAME LOOKUP BUFFER
9669 130704 012701 020040 MOV #20040,R1 ;TO SPACES
9670 130710 012702 000005 MOV #5,R2
9671 130714 010120 70$: MOV R1,(R0)+ ;UP TO 9 CHARS
9672 130716 005302 DEC R2
9673 130720 003375 BGT 70$
9674
9675 130722 012702 151160 MOV #NAMBF,R2 ;LOOKUP NAME
9676 130726 012701 000007 MOV #7,R1 ;MAXIMUM OF 6 CHARS IN NAME
9677 130732 104016 TTISDL
9678 130734 103402 BCS 99$ ;LETTER, ALREADY IN R0
9679 130736 104005 1$: TTICHR ;GET CHAR FROM TTY BUFFER
9680 130740 103456 BCS 5$
9681 130742 122700 000056 99$: CMPB #'.,R0
9682 130746 001415 BEQ 2$ ;BR IF PERIOD, NAME.EXT SEPARATOR
9683 130750 122700 000033 CMPB #33,R0
9684 130754 001435 BEQ 97$ ;ALTMODE, SELF START
9685 130756 122700 000015 CMPB #15,R0
9686 130762 001442 BEQ 96$ ;CR, NO EXTENSION
9687 130764 122700 000040 CMPB #SPACE,R0 ;IF SPACE, NO EXT
9688 130770 001437 BEQ 96$
9689 130772 005301 DEC R1
9690 130774 001440 BEQ 5$ ;BR IF MORE THAN 6 CHARS
9691 130776 110022 MOVB R0,(R2)+ ;STORE CHAR
9692 131000 000756 BR 1$
9693
9694 131002 012702 151166 2$: MOV #EXTBF,R2 ;GET EXTENSION
9695 131006 012701 000004 MOV #4,R1
9696 131012 104005 3$: TTICHR
9697 131014 103430 BCS 5$
9698 131016 122700 000033 CMPB #33,R0
9699 131022 001415 BEQ 13$ ;BR IF ALTMODE
9700 131024 122700 000015 CMPB #15,R0
9701 131030 001414 BEQ 98$ ;BR IF CR
9702 131032 122700 000040 CMPB #SPACE,R0 ;BR IF SPACE
9703 131036 001411 BEQ 98$
9704 131040 005301 DEC R1
9705 131042 001415 BEQ 5$ ;BR IF MORE THAN 3 CHARS
9706 131044 110022 MOVB R0,(R2)+ ;STORE CHAR
9707 131046 000761 BR 3$
9708
9709 131050 005137 150726 97$: COM SRTFLG ;SET SELF START FLAG
9710 131054 000405 BR 96$
9711
9712 131056 005137 150726 13$: COM SRTFLG
9713
9714 131062 022701 000004 98$: CMP #4,R1
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 275
DTA11 PAL[KL,SYS] Page 3.1 PROGRAM FILE LOADER, 4-SEPT-75
9715 131066 001001 BNE 10$
9716 131070 005000 96$: CLR R0
9717 10$: EXIT
9718 131072 000137 124064 JMP $EXIT
9719
9720 131076 $$$NAM=.
9721 131076 104025 5$: $PMSG ;NAME.EXT ERR
9722 131100 131106 $$NAM
9723 131102 000137 100004 JMP $CNTLC
9724
9725 131106 116
9726 131107 101
9727 131110 115
9728 131111 105
9729 131112 056
9730 131113 105
9731 131114 130
9732 131115 124
9733 131116 040
9734 131117 105
9735 131120 122
9736 131121 122
9737 131122 000
9738 $$NAM: .ASCIZ /NAME.EXT ERR/
9739 131124 .EVEN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 276
DTA11 PAL[KL,SYS] Page 4 PROGRAM FILE LOADER, 4-SEPT-75
9740 ;DECTAPE/RP04/FLOPPY LOADER START
9741
9742 131124 022737 000005 150734 DTRPLD: CMP #5,LDCNTL ;PDP-11 .BIN FILE LOAD ?
9743 131132 001002 BNE LLD1
9744 131134 000137 132242 JMP LDBIN
9745
9746 131140 104160 LLD1: DVDATA ;LOAD FIRST BUFFER
9747 131142 103002 BCC LLD2
9748 131144 000137 134066 JMP DVEOF ;EOF
9749
9750 LLD2:
9751 .IF DF MONASB
9752 TST DEVTYP
9753 BPL 1$
9754 JMP ACTLD2 ;ACT10 PROCESS
9755 .ENDC
9756 131150 012705 150500 1$: MOV #$INBUF,R5 ;SET UP START OF CHAR BUFFER
9757 131154 010537 150716 MOV R5,$INPTC
9758
9759 131160 013704 151126 LLD3: MOV DVCNT,R4 ;SETUP DEVICE BYTE COUNTER
9760 131164 013703 151130 MOV DVADR,R3 ;SETUP DEVICE DATA BLOCK ADDRESS
9761
9762 131170 005704 LLD4: TST R4 ;ANY DATA REMAINING ?
9763 131172 003004 BGT 2$ ;YES
9764
9765 131174 104160 DVDATA ;NO, READ NEXT DEVICE BLOCK
9766 131176 103370 BCC LLD3
9767 131200 000137 134066 JMP DVEOF ;END OF FILE ?
9768
9769 131204 112300 2$: MOVB (R3)+,R0 ;GET FRAME, ONE 7 BIT CHAR
9770 131206 005304 DEC R4 ;COUNT IT
9771 131210 042700 177600 BIC #177600,R0
9772 131214 005700 TST R0 ;IS FRAME A NULL ?
9773 131216 001764 BEQ LLD4 ;BR IF YES, DON'T STORE
9774 131220 110025 MOVB R0,(R5)+ ;STORE IN BUFFER
9775 131222 020527 150714 CMP R5,#$INBUF+140.
9776 131226 003402 BLE 1$ ;BR IF BUFFER DIDN'T OVERFLOW
9777 131230 000137 131762 JMP $LINERR ;REPORT BUFFER OVERFLOW
9778 131234 022700 000012 1$: CMP #12,R0 ;IS CHAR A LINE FEED ?
9779 131240 001401 BEQ LLDONE ;BR IF LINE DONE
9780 131242 000752 BR LLD4 ;LOOP TILL LF FOUND
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 277
DTA11 PAL[KL,SYS] Page 5 PROGRAM FILE LOADER, 4-SEPT-75
9781 131244 010437 151126 LLDONE: MOV R4,DVCNT ;RESAVE POINTERS
9782 131250 010337 151130 MOV R3,DVADR
9783 131254 105015 CLRB (R5) ;STORE A NULL TO END STRING
9784 131256 010537 150720 MOV R5,$INPTR
9785 131262 005237 150724 INC DEVLC ;COUNT LINE
9786 131266 013737 150724 177570 MOV DEVLC,SWR ;DISPLAY
9787 131274 005737 150734 TST LDCNTL ;IS HELP FLAG SET ?
9788 131300 100002 BPL LDPROC ;BR IF NO
9789 131302 000137 140316 JMP DAHLP ;DTA/ACT HELP
9790
9791 131306 005037 150736 LDPROC: CLR LDOCTF ;CLEAR OCTAL LOAD FLAG
9792 131312 005037 150730 CLR LDZBLK
9793 131316 013701 150734 MOV LDCNTL,R1 ;GET LOAD CONTROL
9794 131322 013705 150716 MOV $INPTC,R5 ;SETUP INPUT POINTER
9795 131326 112500 MOVB (R5)+,R0 ;GET FIRST CHAR FROM FILE
9796 131330 122700 000073 CMPB #';,R0 ;IS FIRST CHAR A SEMICOLON ?
9797 131334 001420 BEQ LDPRO1 ;YES, PROCESS COMMENT LINE
9798 131336 126100 131672 CMPB LDLTR(R1),R0 ;DOES 1ST CHAR MATCH LOAD TYPE ?
9799 131342 001443 BEQ LDPRO3 ;YES
9800 131344 023727 150734 000006 CMP LDCNTL,#6 ;D10 FILES ACT LIKE A10
9801 131352 001403 BEQ 1$
9802 131354 005737 150734 TST LDCNTL ;IS THIS .A10 FILE ?
9803 131360 001032 BNE LDPRO2 ;NO, ERROR
9804 131362 122700 000132 1$: CMPB #'Z,R0 ;YES, IS FIRST CHAR A "Z" ?
9805 131366 001027 BNE LDPRO2 ;NO, ERROR
9806 131370 005137 150730 COM LDZBLK ;YES, SET CORE ZERO FLAG
9807 131374 000426 BR LDPRO3
9808
9809 131376 005737 150724 LDPRO1: TST DEVLC ;COMMENT, IS THIS FIRST LINE ?
9810 131402 001262 BNE LLD2 ;NO
9811 PUSH PCMDNF ;SAVE PGM CMD NO PRINT FLAG
9812 131410 104057 SWITCH
9813 131412 030027 000001 BIT R0,#CHAIN ;IS CHAIN SWITCH SET ?
9814 131416 001403 BEQ 1$ ;NO
9815 131420 012737 777777 152212 MOV #-1,PCMDNF ;YES, PREVENT FILE ID PRINTOUT
9816
9817 131426 112501 1$: MOVB (R5)+,R1 ;PUT FILE ID LINE IN OUTPUT BUFFER
9818 131430 001402 BEQ 2$ ;NULL, DONE
9819 131432 104154 PLDBUF
9820 131434 000774 BR 1$
9821 2$: POP PCMDNF ;RESTORE FLAG
9822 131442 104215 PNTRST ;RESET OUTPUT POINTERS ANYWAY
9823 131444 000641 BR LLD2
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 278
DTA11 PAL[KL,SYS] Page 6 PROGRAM FILE LOADER, 4-SEPT-75
9824 131446 000137 140522 LDPRO2: JMP ACTLDC ;LOAD TYPE ERROR
9825
9826 131452 112500 LDPRO3: MOVB (R5)+,R0 ;GET 2ND CHAR
9827 131454 122700 000117 CMPB #'O,R0 ;IS IT AN O ?
9828 131460 001445 BEQ LDOCT ;YES, OCTAL DATA FORMAT LOAD
9829 131462 122700 000040 CMPB #40,R0 ;IS IT A SPACE ?
9830 131466 001367 BNE LDPRO2 ;BR IF NO
9831
9832 131470 012701 150740 LDCLR: MOV #LDCNT,R1 ;SETUP CONVERTED STORAGE ADDRESS
9833 131474 005002 LDCNV: CLR R2 ;CLEAR WORD FORMER
9834 131476 112500 1$: MOVB (R5)+,R0 ;GET CHAR
9835 131500 022700 000015 CMP #15,R0 ;IS IT A CR ?
9836 131504 001774 BEQ 1$ ;YES, IGNORE
9837 131506 022700 000012 CMP #12,R0 ;IS IT A LF ?
9838 131512 001435 BEQ LDEOL ;YES, END OF LINE
9839 131514 022700 000054 CMP #54,R0 ;IS IT A COMMA ?
9840 131520 001415 BEQ 2$ ;YES, GO STORE WORD
9841 131522 005737 150736 TST LDOCTF ;LOADING OCTAL ?
9842 131526 001014 BNE 3$ ;YES
9843 SL R2,6 ;SHIFT WORD FORMER LEFT 6
9844 131544 042700 000100 BIC #100,R0 ;CLEAR ASCIIZED BIT
9845 131550 050002 4$: BIS R0,R2 ;INSERT NEW OIT
9846 131552 000751 BR 1$ ;LOOP TILL WORD FORMED
9847
9848 131554 010221 2$: MOV R2,(R1)+ ;STORE 16 BIT WORD
9849 131556 000746 BR LDCNV ;GO DO NEXT
9850
9851 3$: SL R2,3 ;OCTAL LOAD
9852 131566 042700 177770 BIC #177770,R0 ;CLEAR ALL BUT NUMBER PART
9853 131572 000766 BR 4$
9854
9855 131574 005137 150736 LDOCT: COM LDOCTF ;OCTAL LOAD, SET FLAG
9856 131600 000733 BR LDCLR
9857
9858 131602 000137 140536 LDERR: JMP ACTLDF ;LOAD ERROR
9859
9860 131606 010211 LDEOL: MOV R2,(R1) ;STORE CHECKSUM
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 279
DTA11 PAL[KL,SYS] Page 7 PROGRAM FILE LOADER, 4-SEPT-75
9861 131610 005737 150736 LDCKSM: TST LDOCTF ;LOADING OCTAL ?
9862 131614 001012 BNE 2$ ;YES, NO CHECKSUM
9863 131616 012702 150740 MOV #LDCNT,R2 ;CHECKSUM LOAD STORAGE
9864 131622 005000 CLR R0
9865 131624 062200 1$: ADD (R2)+,R0
9866 131626 020201 CMP R2,R1
9867 131630 003775 BLE 1$
9868 131632 005700 TST R0 ;IS CHECKSUM = 0 ?
9869 131634 001402 BEQ 2$ ;BR IF 0
9870 131636 000137 140530 JMP ACTBCK ;BAD CHECKSUM
9871
9872 131642 013700 150734 2$: MOV LDCNTL,R0 ;DISPATCH TO PROPER LOAD ROUTINE
9873 SL R0,1 ;DETERMINED FROM LDCNTL WORD
9874 131650 000170 131654 JMP @LDTYPE(R0)
9875
9876 131654 133052 LDTYPE: LDTEN ;.A10, LOAD TEN
9877 131656 131776 LDELVN ;.A11, LOAD ELEVEN
9878 131660 132610 LDCZRO ;.RAM, ZERO C-RAM
9879 131662 132642 LDCRAM ;.RAM, LOAD C-RAM
9880 131664 132452 LDDRAM ;.RAM, LOAD D-RAM
9881 131666 000000 0 ;.BIN, DETECTED IN LINE
9882 131670 135266 LDBOOT ;.D10, LOAD DSKDMP BOOT INTO 11 (SAME FORMAT AS A10)
9883
9884 131672 124
9885 131673 105
9886 131674 132
9887 131675 103
9888 131676 104
9889 131677 040
9890 131700 124
9891 LDLTR: .ASCII /TEZCD T/
9892
9893 131701 061
9894 131702 061
9895 131703 040
9896 131704 105
9897 131705 122
9898 131706 122
9899 131707 054
9900 131710 101
9901 131711 104
9902 131712 122
9903 131713 075
9904 131714 000
9905 $$LD11: .ASCIZ /11 ERR,ADR=/
9906 131715 103
9907 131716 117
9908 131717 122
9909 131720 075
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 280
DTA11 PAL[KL,SYS] Page 7.1 PROGRAM FILE LOADER, 4-SEPT-75
9910 131721 000
9911 $$COR: .ASCIZ /COR=/
9912 131722 101
9913 131723 103
9914 131724 124
9915 131725 075
9916 131726 000
9917 $$ACT: .ASCIZ /ACT=/
9918 131727 134
9919 131730 122
9920 131731 101
9921 131732 115
9922 131733 040
9923 131734 105
9924 131735 122
9925 131736 122
9926 131737 054
9927 131740 103
9928 131741 117
9929 131742 122
9930 131743 075
9931 131744 000
9932 $$RAM: .ASCIZ /\RAM ERR,COR=/
9933 131745 134
9934 131746 061
9935 131747 060
9936 131750 040
9937 131751 105
9938 131752 122
9939 131753 122
9940 131754 054
9941 131755 101
9942 131756 104
9943 131757 122
9944 131760 075
9945 131761 000
9946 $$TEN: .ASCIZ /\10 ERR,ADR=/
9947 131762 .EVEN
9948
9949 $LINERR:PMSG <?LINE TOO LONG>
9950 131762 104025 $PMSG
9951 131764 146645 $$CLIT
9952 131766 000137 100004 JMP $CNTLC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 281
DTA11 PAL[KL,SYS] Page 8 PROGRAM FILE LOADER, 4-SEPT-75
9953 ;LOAD DONE ROUTINE PDP11 LOAD ROUTINE
9954
9955 LDDONE:
9956 .IF DF MONASB
9957 TST DEVTYP ;LOAD DONE
9958 BMI 1$ ;BR IF ACT10 MODE
9959 .ENDC
9960 131772 000137 140474 JMP DADONE
9961
9962 .LIF DF MONASB
9963 1$: JMP ACTDON ;ACT10 PROCESS
9964
9965 ;PDP-11 CORE LOAD ROUTINE
9966
9967 131776 013700 150740 LDELVN: MOV LDCNT,R0 ;GET LOAD WORD COUNT
9968 132002 001510 BEQ 2$ ;IF 0, THIS IS TRANSFER BLOCK
9969 132004 012702 150744 MOV #LDATA,R2 ;SETUP DATA PICKUP POINTER
9970 132010 013701 150742 MOV LDADR,R1 ;GET LOAD MEMORY ADDRESS
9971 132014 032701 000001 BIT #1,R1 ;LOAD WORD OR BYTE ?
9972 132020 001034 BNE 3$ ;BYTE LOAD
9973
9974 132022 005737 147730 1$: TST VERIFY
9975 132026 001005 BNE 11$
9976 132030 012221 19$: MOV (R2)+,(R1)+ ;MOVE WORD FROM STOR TO MEMORY
9977 132032 005300 13$: DEC R0 ;DECREMENT WORD COUNT
9978 132034 003372 BGT 1$ ;LOOP TILL ALL WORDS MOVED
9979 132036 000137 131150 18$: JMP LLD2 ;GO DO NEXT LOAD LINE
9980
9981 132042 021211 11$: CMP (R2),(R1) ;COMPARE CURRENT AGAINST FILE
9982 132044 001417 BEQ 12$
9983 PUSH R0
9984 132050 104025 $PMSG
9985 132052 131701 $$LD11 ;"11 ERR,ADR="
9986 132054 010100 MOV R1,R0
9987 132056 104035 PNTOCT
9988
9989 132060 104025 $PMSG
9990 132062 131715 $$COR ;"COR="
9991 132064 011200 MOV (R2),R0
9992 132066 104035 PNTOCT
9993
9994 132070 104025 $PMSG
9995 132072 131722 $$ACT ;"ACT="
9996 132074 011100 MOV (R1),R0
9997 132076 104035 PNTOCT
9998 132100 104031 PCRLF
9999 POP R0
10000
10001 132104 005722 12$: TST (R2)+
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 282
DTA11 PAL[KL,SYS] Page 8.1 PROGRAM FILE LOADER, 4-SEPT-75
10002 132106 005721 TST (R1)+
10003 132110 000750 BR 13$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 283
DTA11 PAL[KL,SYS] Page 9 PROGRAM FILE LOADER, 4-SEPT-75
10004 132112 005737 147730 3$: TST VERIFY
10005 132116 001005 BNE 31$
10006
10007 132120 112221 39$: MOVB (R2)+,(R1)+ ;ODD ADDRESS, BYTE LOAD
10008 132122 112221 MOVB (R2)+,(R1)+ ;2 BYTES PER WORD
10009 132124 005300 38$: DEC R0 ;DECREMENT WORD COUNT
10010 132126 003371 BGT 3$ ;LOOP TILL ALL BYTES MOVED
10011 132130 000742 BR 18$ ;GO ON TO NEXT
10012
10013
10014 132132 005005 31$: CLR R5
10015 32$: PUSH R0
10016 132136 121211 CMPB (R2),(R1)
10017 132140 001422 BEQ 33$
10018
10019 132142 104025 $PMSG
10020 132144 131701 $$LD11 ;"11 ERR,ADR="
10021 132146 010100 MOV R1,R0
10022 132150 104035 PNTOCT
10023
10024 132152 104025 $PMSG
10025 132154 131715 $$COR ;"COR="
10026 132156 111200 MOVB (R2),R0
10027 132160 042700 177400 BIC #177400,R0
10028 132164 104036 PNTOCS
10029
10030 132166 104032 PSPACE
10031 132170 104025 $PMSG
10032 132172 131722 $$ACT ;"ACT="
10033 132174 111100 MOVB (R1),R0
10034 132176 042700 177400 BIC #177400,R0
10035 132202 104036 PNTOCS
10036 132204 104031 PCRLF
10037 33$: POP R0
10038 132210 005202 INC R2
10039 132212 005201 INC R1
10040 132214 005705 TST R5
10041 132216 001342 BNE 38$
10042 132220 005205 INC R5
10043 132222 000744 BR 32$
10044
10045 132224 013700 150742 2$: MOV LDADR,R0
10046 132230 010037 157204 LD11DN: MOV R0,PGOADR
10047 132234 005037 157202 CLR PGOCTL
10048 132240 000654 BR LDDONE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 284
DTA11 PAL[KL,SYS] Page 10 PROGRAM FILE LOADER, 4-SEPT-75
10049 ;PDP-11 BINARY LOAD ROUTINE
10050
10051 132242 104160 LDBIN: DVDATA ;LOAD DEVICE BUFFER
10052 132244 005037 151070 LDBIN1: CLR $CKS11 ;INIT CHECKSUM
10053 132250 104163 DVFRAM ;READ FRAME
10054 132252 105300 DECB R0 ;CHECK FOR BLOCK START
10055 132254 001373 BNE LDBIN1 ;NOT YET
10056 132256 104163 DVFRAM ;READ ANOTHER FRAME
10057
10058 132260 104164 DVWRD ;GET FULL BYTE COUNT
10059 132262 010037 151064 MOV R0,LBC
10060 132266 162737 000006 151064 SUB #6,LBC
10061 132274 001456 BEQ LJMP ;BYTE COUNT OF 6 IS XFER BLOCK
10062 132276 104164 DVWRD ;GET LOAD ADDRESS
10063 132300 010005 MOV R0,R5 ;STORE LOAD ADDRESS
10064
10065 132302 104163 LDBIN2: DVFRAM ;READ DATA FRAME
10066 132304 005337 151064 DEC LBC
10067 132310 002007 BGE LDBIN3 ;BR IF MORE DATA REMAINS
10068 132312 105737 151070 TSTB $CKS11 ;CORRECT CHECKSUM ?
10069 132316 001752 BEQ LDBIN1 ;BR IF GOOD CHECKSUM
10070 LDBINE: PMSG <\CKSUM ERR>
10071 132320 104025 $PMSG
10072 132322 146664 $$CLIT
10073 132324 000137 100004 $LDBNE: JMP $CNTLC
10074
10075 132330 005737 147730 LDBIN3: TST VERIFY
10076 132334 001010 BNE 1$
10077 132336 020527 100000 CMP R5,#PRGSRT ;TRYING TO LOAD INTO KLDCP ?
10078 132342 103403 BLO 10$ ;NO
10079 PMSG <\ADR ERR>
10080 132344 104025 $PMSG
10081 132346 146677 $$CLIT
10082 132350 000765 BR $LDBNE ;YES, BAD !!
10083 132352 110025 10$: MOVB R0,(R5)+ ;STORE DATA 1 BYTE AT A TIME
10084 132354 000752 BR LDBIN2 ;LOOP
10085
10086 132356 120015 1$: CMPB R0,(R5)
10087 132360 001002 BNE 3$
10088 132362 005205 2$: INC R5
10089 132364 000746 BR LDBIN2
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 285
DTA11 PAL[KL,SYS] Page 11 PROGRAM FILE LOADER, 4-SEPT-75
10090 3$: PUSH R0
10091 132370 104025 $PMSG
10092 132372 131701 $$LD11 ;"11 ERR,ADR="
10093
10094 132374 010500 MOV R5,R0
10095 132376 104035 PNTOCT
10096
10097 132400 104025 $PMSG
10098 132402 131715 $$COR ;"COR="
10099 POP R0
10100 132406 104036 PNTOCS
10101
10102 132410 104032 PSPACE
10103 132412 104025 $PMSG
10104 132414 131722 $$ACT ;"ACT="
10105 132416 111500 MOVB (R5),R0
10106 132420 042700 177400 BIC #177400,R0
10107 132424 104036 PNTOCS
10108 132426 104031 PCRLF
10109 132430 000754 BR 2$
10110
10111 132432 104164 LJMP: DVWRD ;GET POSSIBLE XFER ADDRESS
10112 PUSH R0
10113 132436 104163 DVFRAM
10114 132440 105737 151070 TSTB $CKS11 ;CORRECT CHECKSUM ?
10115 132444 001325 BNE LDBINE ;BR IF BAD
10116 POP R0 ;SETUP START ADDRESS
10117 132450 000667 BR LD11DN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 286
DTA11 PAL[KL,SYS] Page 12 PROGRAM FILE LOADER, 4-SEPT-75
10118 ;KL10 LOAD D-RAM ROUTINE
10119
10120 ;CALLS "WDRAM" WITH R0 = D-RAM ADDRESS
10121 ; R1 = LOAD DATA ADDRESS
10122
10123 132452 013702 150740 LDDRAM: MOV LDCNT,R2 ;GET LOAD WORD COUNT
10124 132456 001437 BEQ 2$ ;WC = 0, TRANSFER BLOCK
10125 132460 013703 150742 MOV LDADR,R3 ;SETUP D-RAM ADDRESS
10126 132464 012704 150744 MOV #LDATA,R4 ;DATA PICKUP ADDRESS
10127
10128 132470 010300 1$: MOV R3,R0 ;D-RAM ADDRESS TO R0
10129 132472 010401 MOV R4,R1 ;DATA ADDRESS TO R1
10130
10131 132474 005737 147730 TST VERIFY
10132 132500 001001 BNE 11$ ;VERIFY D-RAM
10133 132502 104127 WDRAM ;WRITE D-RAM
10134
10135 132504 010300 11$: MOV R3,R0
10136 132506 104126 RDRAM ;READ D-RAM
10137 132510 010005 MOV R0,R5
10138 132512 042710 000020 BIC #20,(R0) ;CLEAR COMPUTED PARITY
10139 132516 022021 CMP (R0)+,(R1)+ ;COMPARE EVEN WORD
10140 132520 001020 BNE 20$
10141 132522 042710 000020 BIC #20,(R0) ;CLEAR COMPUTED PARITY
10142 132526 022021 CMP (R0)+,(R1)+ ;COMPARE ODD WORD
10143 132530 001014 BNE 20$
10144 132532 021011 CMP (R0),(R1) ;COMPARE COMMON WORD
10145 132534 001012 BNE 20$
10146 132536 062703 000002 21$: ADD #2,R3 ;TO NEXT EVEN D-RAM ADDRESS
10147 132542 062704 000006 ADD #6,R4 ;SETUP NEXT DATA PICKUP ADR
10148 132546 162702 000003 SUB #3,R2 ;DECREMENT WORD COUNT
10149 132552 003346 BGT 1$ ;BR IF NOT DONE YET
10150 132554 000473 BR $LLD2 ;BACK FOR NEXT LOAD FILE LINE
10151
10152 132556 000137 131772 2$: JMP LDDONE ;LOAD FINISHED
10153
10154 132562 104025 20$: $PMSG
10155 132564 131727 $$RAM ;"RAM ERR,COR="
10156 132566 010300 MOV R3,R0
10157 132570 010401 MOV R4,R1
10158 132572 104143 PNTDRM ;PRINT CORRECT D-RAM
10159
10160 132574 104025 $PMSG
10161 132576 131722 $$ACT ;"ACT="
10162 132600 010300 MOV R3,R0
10163 132602 010501 MOV R5,R1
10164 132604 104143 PNTDRM ;PRINT ACTUAL D-RAM
10165 132606 000753 BR 21$ ;CONTINUE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 287
DTA11 PAL[KL,SYS] Page 13 PROGRAM FILE LOADER, 4-SEPT-75
10166 ;KL10 C-RAM ZERO
10167
10168 COMMENT ⊗
10169
10170 RAM file. The RAM file is ascii-ized text. A RAM file consists of a
10171 Z-line, some C-lines, and some D-lines. The Z-line zeros a selected
10172 region of the CRAM. Each C-line loads one or more microcode words
10173 into the CRAM. The D-lines load the DRAM.
10174
10175 Z wc,addr,count,chksum<crlf>
10176 The "Z " and the commas and crlf are literal. WC is ignored
10177 and may be an empty string. ADDR is the first location in
10178 the CRAM to zero; COUNT is the number of words of CRAM to zero.
10179 If COUNT is zero, nothing is zeroed (one Z line must appear
10180 in the file). Chksum, as always, is the negative of the 16-bit
10181 sum of all preceding fields.
10182
10183 C wc,addr,w0pt0,w0pt1,w0pt2,w0pt3,w0pt4,w0pt5,w1pt0....,chksum
10184 WC is a multiple of 6. Six 16-bit fields are loaded into
10185 each CRAM word. Note: In octal format, denoted by CO, the
10186 fields above are partly reversed. They appear in the order:
10187 Pt4,Pt3,Pt2,Pt1,Pt0,Pt5. This is the same format as the
10188 EC and DC commands use.
10189 Pt5 is the spec field. Other fields are:...
10190 A zero WC signifies the CRAM start address is in ADDR, and
10191 that D-lines follow.
10192
10193
10194 D wc,addr,w0pt0,w0pt1,w0pt2,w2tp0,w2pt1,w2pt2,....,chksum
10195 WC must be a multiple of 3. Three 16-bit fields are loaded
10196 into an even-odd pair of DRAM locations specified by addr
10197 (which should be even). WC=0 signifies end of file.
10198
10199 ⊗
10200
10201
10202
10203 132610 104076 LDCZRO: MRESET ;MASTER RESET
10204 132612 005737 147730 TST VERIFY
10205 132616 001006 BNE 2$ ;NO ZEROING IF VERIFY
10206 132620 013701 150744 MOV LDATA,R1 ;GET C-RAM ZERO COUNT
10207 132624 001403 BEQ 2$ ;0 ZERO COUNT, BYPASS ZEROING C-RAM
10208 132626 013700 150742 MOV LDADR,R0 ;SETUP STARTING ADDRESS
10209
10210 132632 104203 MICNUL ;ZERO C-RAM
10211 132634 005237 150734 2$: INC LDCNTL ;ADVANCE LOAD CONTROL TO C-RAM LOAD
10212 132640 000441 BR $LLD2
10213
10214 ;KL10 LOAD C-RAM ROUTINE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 288
DTA11 PAL[KL,SYS] Page 13.1 PROGRAM FILE LOADER, 4-SEPT-75
10215
10216 ;CALLS "WCRAM" WITH R0 = C-RAM ADDRESS
10217 ; R1 = DATA PICKUP ADDRESS
10218
10219 132642 013702 150740 LDCRAM: MOV LDCNT,R2 ;GET LOAD WORD COUNT
10220 132646 001440 BEQ 2$ ;WC = 0, TRANSFER BLOCK
10221 132650 013703 150742 MOV LDADR,R3 ;SETUP C-RAM ADDRESS
10222 132654 052703 040000 BIS #BIT14,R3 ;SET SPECIAL RESET BIT
10223 132660 012704 150744 MOV #LDATA,R4 ;DATA PICKUP ADDRESS
10224
10225 132664 005737 150736 1$: TST LDOCTF ;LOADING OCTAL ?
10226 132670 001035 BNE 3$ ;YES
10227 132672 010300 4$: MOV R3,R0 ;C-RAM ADDRESS TO R0
10228 132674 010401 MOV R4,R1 ;DATA PICKUP ADDRESS TO R1
10229
10230 132676 005737 147730 TST VERIFY
10231 132702 001001 BNE 41$
10232 132704 104073 WCRAM ;WRITE C-RAM
10233 132706 010300 41$: MOV R3,R0
10234 132710 104074 RCRAM ;READ C-RAM BACK
10235
10236 132712 012705 000006 MOV #6,R5
10237 132716 010401 MOV R4,R1
10238 132720 022021 11$: CMP (R0)+,(R1)+ ;RAM LOADED PROPERLY ?
10239 132722 001035 BNE 12$ ;NO
10240 132724 005305 DEC R5
10241 132726 001374 BNE 11$
10242 132730 005203 42$: INC R3 ;TO NEXT C-RAM ADDRESS
10243 132732 062704 000014 ADD #12.,R4 ;TO NEXT PICKUP ADDRESS
10244 132736 162702 000006 SUB #6,R2 ;DECREMENT WORD COUNT, 6 11 WDS PER
10245 132742 003350 BGT 1$ ;BR IF NOT DONE YET
10246 132744 $LLD2=.
10247 132744 000137 131150 JMP LLD2 ;GET NEXT LOAD FILE LINE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 289
DTA11 PAL[KL,SYS] Page 14 PROGRAM FILE LOADER, 4-SEPT-75
10248 132750 013700 150742 2$: MOV LDADR,R0 ;SELECT C-RAM STARTING ADDRESS
10249 132754 104075 WWADR ;WRITE ADDRESS TO C-RAM
10250 132756 005237 150734 INC LDCNTL ;ADVANCE LOAD CONTROL TO D-RAM LOAD
10251 132762 000770 BR $LLD2
10252
10253 ;OCTAL C-RAM LOAD, DATA IS BACKWARDS FROM UPSIDE DOWN NORMAL
10254
10255 132764 011400 3$: MOV (R4),R0 ;GET WORD 0
10256 132766 016414 000010 MOV 10(R4),(R4) ;PUT WORD 5 IN 0'S PLACE
10257 132772 010064 000010 MOV R0,10(R4) ;PUT WORD 0 IN 5'S PLACE
10258 132776 016400 000002 MOV 2(R4),R0 ;GET WORD 1
10259 133002 016464 000006 000002 MOV 6(R4),2(R4) ;PUT WORD 4 IN 1'S PLACE
10260 133010 010064 000006 MOV R0,6(R4) ;PUT WORD 1 IN 4'S PLACE
10261 133014 000726 BR 4$ ;NOW GO LOAD IN C-RAM
10262
10263 133016 104025 12$: $PMSG ;"RAM ERR,COR="
10264 133020 131727 $$RAM
10265 133022 010300 MOV R3,R0
10266 133024 010401 MOV R4,R1
10267 133026 104142 PNTCRM
10268 133030 104031 PCRLF
10269 133032 104025 $PMSG
10270 133034 131722 $$ACT ;"ACT="
10271 133036 010300 MOV R3,R0
10272 133040 012701 147514 MOV #$BUFRC,R1
10273 133044 104142 PNTCRM
10274 133046 104031 PCRLF
10275 133050 000727 BR 42$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 290
DTA11 PAL[KL,SYS] Page 15 PROGRAM FILE LOADER, 4-SEPT-75
10276 ;LOAD TEN CORE ZERO
10277
10278 ; START ADDRESS, LOW 16 BITS IN LDADR
10279 ; , BITS 18 & 19 IN HI-BYTE OF LDCNT
10280 ; ZERO COUNT IN LDATA
10281 ; WORD COUNT SIGNIFIES NUMBER OF LDATA WORDS USED FOR ZEROING
10282 ; "D10ZRO" - INCREMENTS PDP-10 ADDRESS WHILE ZEROING
10283
10284 133052 012703 147702 LDTEN: MOV #L10ADR+2,R3 ;SETUP BLOCK START ADDRESS POINTER
10285 133056 005013 CLR (R3)
10286 133060 113713 150741 MOVB LDCNT+1,(R3) ;HI-BYTE OF LDCNT IS ADR BITS 18 & 19
10287 133064 013743 150742 MOV LDADR,-(R3) ;SETUP ADR BITS 20-35
10288
10289 133070 005737 150730 TST LDZBLK ;TEN CORE ZERO BLOCK ?
10290 133074 001425 BEQ LDRDIN ;NO, LOAD DATA
10291
10292 133076 104100 LDTENZ: SM ;START MACHINE
10293 133100 103002 BCC 3$
10294 133102 000137 104566 JMP .XCTER ;FAILED
10295 133106 005737 147730 3$: TST VERIFY
10296 133112 001015 BNE 2$ ;DON'T ZERO IF VERIFY
10297 133114 012704 150744 MOV #LDATA,R4
10298 133120 113702 150740 MOVB LDCNT,R2 ;IS WC = 0 ?
10299 133124 001410 BEQ 2$ ;YES, NO ZEROING
10300 133126 010301 MOV R3,R1 ;SETUP ADDRESS
10301 133130 012400 1$: MOV (R4)+,R0 ;SETUP ZERO COUNT
10302 133132 104112 D10ZRO ;DEPOSIT ZEROS, CLEARING CORE
10303 133134 103476 BCS LD10ER
10304 133136 012701 147704 MOV #.DPXAD,R1
10305 133142 005302 DEC R2 ;COMPLETED ALL ZEROS ?
10306 133144 001371 BNE 1$ ;NOT YET
10307
10308 133146 000676 2$: BR $LLD2 ;ALL REQUESTED CORE ZEROED.
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 291
DTA11 PAL[KL,SYS] Page 16 PROGRAM FILE LOADER, 4-SEPT-75
10309 ;LOAD TEN DATA
10310
10311 ;CALLS "DPOSVR" WITH R0 = LOAD DATA ADDRESS
10312 ; R1 = PDP-10 ADDRESS
10313
10314 133150 113702 150740 LDRDIN: MOVB LDCNT,R2 ;GET LOAD WORD COUNT
10315 133154 001423 BEQ 2$ ;WC = 0, TRANSFER BLOCK
10316 133156 012704 150744 MOV #LDATA,R4 ;DATA PICKUP ADDRESS
10317
10318 133162 010301 1$: MOV R3,R1
10319 133164 010400 MOV R4,R0 ;SETUP DATA PICKUP ADDRESS
10320
10321 133166 005737 147730 TST VERIFY
10322 133172 001047 BNE LD10V
10323 133174 104107 DPOSVR ;DEPOSIT & VERIFY
10324 133176 103423 BCS LD10VR ;FAILED
10325 133200 $LRDIN=.
10326 133200 062723 000001 ADD #1,(R3)+ ;INCREMENT 10 ADDRESS
10327 133204 005513 ADC (R3)
10328 133206 005743 TST -(R3)
10329 133210 062704 000006 ADD #6,R4 ;SETUP NEXT DATA PICKUP ADDRESS
10330 133214 162702 000003 SUB #3,R2 ;DECREMENT WORD COUNT
10331 133220 003360 BGT 1$ ;BR IF NOT DONE YET
10332 133222 000650 BR $LLD2 ;BACK FOR NEXT LOAD FILE LINE
10333
10334 133224 012704 157204 2$: MOV #PGOADR,R4
10335 133230 012324 MOV (R3)+,(R4)+ ;TRANSFER START ADDRESS
10336 133232 011314 MOV (R3),(R4) ;TO GO ADDRESS
10337 133234 012737 000002 157202 MOV #2,PGOCTL
10338 133242 000137 131772 JMP LDDONE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 292
DTA11 PAL[KL,SYS] Page 17 PROGRAM FILE LOADER, 4-SEPT-75
10339 133246 100431 LD10VR: BMI LD10ER ;N-BIT SET DEPOSIT FAILED
10340 133250 001430 BEQ LD10ER ;Z-BIT SET, EXAMINE FAILED
10341 133252 LD10VE=.
10342 PUSH R0
10343 133254 104025 $PMSG ;"10 ERR,ADR="
10344 133256 131745 $$TEN
10345 133260 012700 147700 MOV #L10ADR,R0
10346 133264 104137 PNTADR
10347
10348 133266 104025 $PMSG
10349 133270 131715 $$COR ;"COR="
10350 133272 010400 MOV R4,R0
10351 133274 104042 PNT36
10352
10353 133276 104025 $PMSG
10354 133300 131722 $$ACT ;"ACT="
10355 POP R0
10356 133304 104042 PNT36
10357 133306 104031 PCRLF
10358 133310 000733 BR $LRDIN
10359
10360 133312 010100 LD10V: MOV R1,R0
10361 133314 104103 EXAM ;EXAMINE PRESENT CONTENTS
10362 133316 103405 BCS LD10ER ;CAN'T EXAMINE
10363 133320 010001 MOV R0,R1
10364 133322 010400 MOV R4,R0
10365 133324 104052 CMPR36 ;COMPARE WITH LOAD FILE
10366 133326 103324 BCC $LRDIN ;OK
10367 133330 000750 BR LD10VE ;BAD
10368
10369 133332 104025 LD10ER: $PMSG ;"10 ERR,ADR="
10370 133334 131745 $$TEN
10371 133336 012700 147700 MOV #L10ADR,R0
10372 133342 104137 PNTADR
10373 133344 000137 100004 JMP $CNTLC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 293
DTA11 PAL[KL,SYS] Page 18 PROGRAM FILE LOADER, 4-SEPT-75
10374 ;DEVICE FILE DIRECTORY LOOKUP
10375
10376 133350 104055 DEVFIL: SETFLG ;INIT DEVICE LINE COUNT
10377 133352 150724 DEVLC
10378 133354 104217 TTPINI ;INIT TTY POINTERS
10379 133356 005037 150254 CLR $OUTBF
10380 133362 005737 157310 TST DEVTYP ;LOAD FROM WHAT DEVICE ?
10381 133366 001405 BEQ DTFIL ; 0 = DECTAPE
10382 133370 100402 BMI 1$ ; -1 = ACT10
10383 133372 000137 100574 JMP RPFIL ; 1 = RP04
10384
10385 100574 .IIF NDF RPASB,RPFIL==$CMDER
10386 .IF NDF MONASB
10387 133376 000137 100574 1$: JMP $CMDER
10388 .IFF
10389 1$: JMP ACTFIL
10390 .ENDC
10391
10392 133402 005737 157306 DTFIL: TST FLOPPY
10393 133406 001402 BEQ 10$
10394 133410 104230 RXFILE ;FLOPPY
10395 133412 000401 BR 11$
10396 133414 104207 10$: DTAFILE
10397 133416 103402 11$: BCS 1$
10398 133420 000137 131124 JMP DTRPLD
10399 133424 000137 134146 1$: JMP $NONXF ;NON-EX FILE
10400
10401 ;DECTAPE FORMAT
10402 ;FIRST DIRECTORY BLOCK = 102 (8)
10403
10404 ;FILE DIRECTORY BLOCK
10405 ; LINK TO NEXT BLOCK
10406 ; 1 - FILE NAME 1
10407 ; 2 - FILE NAME 2
10408 ; 3 - FILE EXTENSION
10409 ; 4 - DATE
10410 ; 5 - SPARE
10411 ; 6 - START BLOCK #
10412 ; 7 - LENGTH
10413 ; 8 - END BLOCK #
10414 ; 9 - SPARE
10415 ;FILE DATA BLOCK
10416 ; LINK TO NEXT BLOCK
10417 ; 255 DATA WORDS
10418
10419 ;DECTAPE PROGRAM FILE SEARCH
10420
10421 133430 104156 $DTAFILE:DTINIT ;DECTAPE INITIALIZATION
10422 133432 005737 157306 DTAFL1: TST FLOPPY
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 294
DTA11 PAL[KL,SYS] Page 18.1 PROGRAM FILE LOADER, 4-SEPT-75
10423 133436 001402 BEQ 20$
10424 133440 104232 RXRDFL ;FLOPPY READ FILE
10425 133442 000401 BR 21$
10426 133444 104211 20$: DTRDFL ;READ UFD DIRECTORY BLOCK
10427 133446 103500 21$: BCS 11$ ;EOF, CAN'T FIND FILE
10428 133450 011000 MOV (R0),R0 ;PUT FIRST BUFFER ADR IN R0
10429 133452 012701 000034 MOV #28.,R1 ;28 ENTRIES IN DIRECTORY
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 295
DTA11 PAL[KL,SYS] Page 19 PROGRAM FILE LOADER, 4-SEPT-75
10430 133456 012037 151146 1$: MOV (R0)+,DIRST0 ;STORE RAD50 NAME
10431 133462 012037 151150 MOV (R0)+,DIRST1
10432 133466 012037 151144 MOV (R0)+,DTEXT ;STORE RAD50 EXT
10433 133472 022020 CMP (R0)+,(R0)+ ;SKIP 2 WORDS
10434 133474 012037 151132 MOV (R0)+,DTSTRT ;SAVE STARTING BLOCK #
10435 133500 012037 151134 MOV (R0)+,DTLNGTH ;SAVE LENGTH
10436 133504 022020 CMP (R0)+,(R0)+ ;MOVE TO NEXT ENTRY
10437 PUSH <R0,R1>
10438 133512 104155 R50UPK ;UNPACK NAME
10439 133514 151146
10440 133516 151152 DIRST0,DIRST2
10441 133520 103446 BCS 10$
10442 133522 104155 R50UPK
10443 133524 151150
10444 133526 151155 DIRST1,DIRST3+1
10445 133530 103442 BCS 10$
10446 133532 104155 R50UPK ;UNPACK EXTENSION
10447 133534 151144
10448 133536 151136 DTEXT,DTEXTS
10449 133540 103436 BCS 10$ ;ERROR RETURN
10450
10451 133542 005737 151124 TST DVDIRF ;DOING "DIR" ?
10452 133546 001042 BNE $DTDI1 ;YES
10453
10454 133550 012703 151160 MOV #NAMBF,R3 ;LOAD ADDRESS OF INPUT DATA
10455 133554 012704 151152 MOV #DIRST2,R4 ;LOAD ADDRESS OF TABLE
10456 133560 012700 000006 MOV #6,R0 ;SET COUNT
10457 133564 122324 3$: CMPB (R3)+,(R4)+ ;CHECK NAME DATA
10458 133566 001023 BNE 10$ ;BR IF NOT SAME
10459 133570 005300 DEC R0 ;DONE 6 TIMES ?
10460 133572 001374 BNE 3$ ;BR IF NOT
10461 133574 012703 151166 MOV #EXTBF,R3 ;LOAD ADDRESS OF EXT INPUT
10462 133600 012704 151136 MOV #DTEXTS,R4 ;LOAD ADDRESS OF EXT STOR
10463 133604 012700 000003 MOV #3,R0 ;SET COUNT 3 CHARS
10464 133610 122324 6$: CMPB (R3)+,(R4)+ ;CHECK EXT DATA
10465 133612 001011 BNE 10$ ;BR IF NOT SAME
10466 133614 005300 DEC R0 ;DONE 3 TIMES ?
10467 133616 001374 BNE 6$ ;BR IF NOT
10468 POP <R1,R0>
10469 133624 013737 151132 151172 MOV DTSTRT,DVBUF ;LOAD STARTING BLOCK
10470 EXIT ;NOW GO LOAD FILE
10471 133632 000137 124064 JMP $EXIT
10472 133636 $DTDI2=.
10473 10$: POP <R1,R0>
10474 133642 005301 DEC R1 ;BEEN THRU 28 ENTRIES ?
10475 133644 001304 BNE 1$ ;NOT YET
10476 133646 000671 BR DTAFL1 ;TRY NEXT UFD BLOCK
10477
10478 11$: EXITERR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 296
DTA11 PAL[KL,SYS] Page 19.1 PROGRAM FILE LOADER, 4-SEPT-75
10479 133650 000137 124036 JMP $EXITE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 297
DTA11 PAL[KL,SYS] Page 20 PROGRAM FILE LOADER, 4-SEPT-75
10480 ;DECTAPE/FLOPPY DIRECTORY ROUTINE
10481
10482 133654 005037 151160 $DTDI1: CLR NAMBF
10483 133660 005037 151144 CLR DTEXT
10484 133664 022737 020040 151152 CMP #020040,DIRST2 ;DON'T PRINT SPACES
10485 133672 001414 BEQ 1$
10486
10487 133674 104025 $PMSG ;PRINT "FILE"
10488 133676 151152 DIRST2
10489
10490 133700 104032 PSPACE
10491
10492 133702 104025 $PMSG ;PRINT "EXT"
10493 133704 151136 DTEXTS
10494
10495 133706 012700 000011 MOV #TAB,R0
10496 133712 104027 PNTCHR
10497 133714 013700 151134 MOV DTLNGTH,R0
10498 133720 104037 PNTDEC ;PRINT NUMBER OF BLOCKS
10499
10500 133722 104031 PCRLF
10501 133724 000744 1$: BR $DTDI2 ;GO DO NEXT
10502
10503 133726 104022 $DI: TTITRM
10504 133730 104044 PNORML
10505 133732 005737 157310 TST DEVTYP
10506 133736 001403 BEQ $DTDIR ;DECTAPE
10507 133740 100400 BMI 1$ ;ILLEGAL ON ACT10
10508 .LIF DF RPASB
10509 JMP $RPDIR ;RP04
10510
10511 133742 000137 113364 1$: JMP $CMDE
10512
10513 133746 104055 $DTDIR: SETFLG
10514 133750 151124 DVDIRF ;SET DIRECTORY FLAG
10515 133752 005737 157306 TST FLOPPY
10516 133756 001402 BEQ 1$
10517 133760 104230 RXFILE ;FLOPPY
10518 133762 000401 BR 2$
10519 133764 104207 1$: DTAFILE
10520 133766 000137 100014 2$: JMP $CONSL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 298
DTA11 PAL[KL,SYS] Page 21 PROGRAM FILE LOADER, 4-SEPT-75
10521 ;READ DEVICE FRAME SUBROUTINE
10522
10523 133772 005737 151126 $DVFRAM:TST DVCNT ;USED ALL DATA ?
10524 133776 003002 BGT 1$ ;NO
10525
10526 134000 104160 DVDATA ;YES, READ NEXT BLOCK
10527 134002 103431 BCS DVEOF ;EOF
10528
10529 134004 117700 015120 1$: MOVB @DVADR,R0 ;GET ONE BYTE
10530 134010 005237 151130 INC DVADR ;INCREMENT PICKUP ADDRESS
10531 134014 005337 151126 DEC DVCNT ;COUNT IT
10532 134020 042700 177400 BIC #177400,R0 ;CLEAR JUNK, CHAR IS 8 BITS
10533 134024 060037 151070 ADD R0,$CKS11
10534 134030 000444 BR $$DVX
10535
10536 ;READ DEVICE BUFFER SUBROUTINE
10537
10538 $DVDATA:
10539 .IF DF RPASB
10540 TST DEVTYP
10541 BNE 4$
10542 .ENDC
10543
10544 134032 005737 157306 TST FLOPPY
10545 134036 001402 BEQ 1$
10546 134040 104232 RXRDFL ;FLOPPY
10547 134042 000401 BR 11$
10548 134044 104211 1$: DTRDFL ;DECTAPE READ
10549 134046 103405 11$: BCS 3$ ;EOF
10550 134050 012037 151130 2$: MOV (R0)+,DVADR ;SAVE BUFFER ADDRESS
10551 134054 011037 151126 MOV (R0),DVCNT ;SAVE BUFFER BYTE COUNT
10552 134060 000430 BR $$DVX
10553
10554 3$: EXITERR ;EOF
10555 134062 000137 124036 JMP $EXITE
10556
10557 .IF DF RPASB
10558 4$: MOV #FILDSB,R0
10559 RPRDFL ;RP04 FILE DATA BLOCK READ
10560 BCC 2$
10561
10562 CMP #1,R0 ;ERROR, EOF ?
10563 BEQ DVEOF ;YES
10564 RPERROR ;NO, JUST ERROR
10565 .ENDC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 299
DTA11 PAL[KL,SYS] Page 22 PROGRAM FILE LOADER, 4-SEPT-75
10566 134066 005737 150734 DVEOF: TST LDCNTL ;EOF, PRINTING A HELP FILE ?
10567 134072 100404 BMI 1$ ;YES
10568 PMSG <\EOF ?>
10569 134074 104025 $PMSG
10570 134076 146710 $$CLIT
10571 134100 000137 100004 JMP $CNTLC
10572 134104 000137 140400 1$: JMP DAHLPD
10573
10574 ;ASSEMBLE ONE 16 BIT DATA WORD
10575
10576 134110 104163 $DVWRD: DVFRAM ;READ FRAME
10577 134112 010037 151066 MOV R0,LTMP
10578 134116 104163 DVFRAM ;GET ANOTHER FRAME
10579 134120 000300 SWAB R0 ;PLACE IN HIGH ORDER BYTE
10580 134122 050037 151066 BIS R0,LTMP ;PUT 2 BYTES TOGETHER
10581 134126 013700 151066 MOV LTMP,R0 ;PUT BACK IN R0
10582 134132 000403 BR $$DVX
10583
10584 ;DECTAPE INITIALIZATION
10585
10586 134134 012737 000102 151172 $DTINIT:MOV #102,DVBUF ;SET STARTING BLOCK NUMBER
10587 $$DVX: EXIT
10588 134142 000137 124064 JMP $EXIT
10589
10590 ;FILE NOT FOUND
10591
10592 134146 005737 151120 $NONXF: TST DIAFLG ;DOING "DIAMON" FILE SELECTION ?
10593 134152 001402 BEQ 1$ ;NO
10594 134154 000137 112234 JMP DIANF ;YES, "DIAMON" FILE NOT FOUND
10595
10596 1$: PMSG <NON-EX FILE>
10597 134160 104025 $PMSG
10598 134162 146717 $$CLIT
10599 134164 000137 100004 JMP $CNTLC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 300
DTA11 PAL[KL,SYS] Page 23 PROGRAM FILE LOADER, 4-SEPT-75
10600 ;RAD50 UNPACK SUBROUTINE
10601
10602 134170 062766 000004 000012 $R50UPK:ADD #4,12(SP) ;RETURN OVER TRAILING PARAMETERS
10603 PUSH R0
10604 134200 013705 147634 MOV $EMADR,R5
10605 134204 012504 MOV (R5)+,R4 ;RAD50 ADDRESS TO R4
10606 134206 011404 MOV (R4),R4 ;RAD50 VALUE TO R4
10607 134210 011503 MOV (R5),R3 ;STORE ADDRESS TO R3
10608 134212 012701 000002 MOV #2,R1
10609 134216 012746 777777 MOV #-1,-(6) ;SET STACK STOP
10610 134222 010446 1$: MOV R4,-(6) ;SAVE PREVIOUS VALUE
10611 134224 005004 CLR R4 ;CLEAR R4 FOR NEXT REMAINDER
10612 134226 011600 2$: MOV (6),R0 ;TAKE 3/4 OF VALUE
10613 134230 151700 BISB @PC,R0 ;???????
10614 134232 010002 MOV R0,R2
10615 134234 006002 ROR R2
10616 134236 006202 ASR R2
10617 134240 160200 SUB R2,R0
10618 134242 042700 000037 BIC #37,R0 ;PREPARE TO TAKE 1/4 OF RESULT
10619 134246 160016 SUB R0,(6) ;BUT REDUCE ORIGINAL BY 3/4
10620 134250 006000 ROR R0 ;GET 3/16 OF ORIGINAL
10621 134252 006200 ASR R0
10622 134254 160016 SUB R0,(6)
10623 134256 060004 ADD R0,R4 ;THIS GIVES 1ST APPROXIMATION
10624 134260 021627 000047 CMP (6),#47 ;LOW AS POSSIBLE ?
10625 134264 101360 BHI 2$ ;IF SO THIS IS BYTE REQUIRED
10626 134266 006204 ASR R4
10627 134270 006204 ASR R4
10628 134272 006204 ASR R4
10629 134274 005301 DEC R1 ;DONE 2 BYTES ?
10630 134276 001351 BNE 1$ ;BR IF NOT
10631 134300 120427 000047 CMPB R4,#47 ;LAST BYTE TOO BIG ?
10632 134304 101005 BHI 4$ ;IF YES, ERROR
10633 134306 105704 3$: TSTB R4 ;SPACE ?
10634 134310 001414 BEQ 6$ ;IF YES, ADD 40
10635 134312 120427 000035 CMPB R4,#35 ;IF UNUSED CODE ....
10636 134316 001003 BNE 5$
10637 134320 012704 000130 4$: MOV #'X,R4 ;ASCII X TO R4
10638 134324 000414 BR 9$ ;GO TO ERROR EXIT
10639 134326 120427 000033 5$: CMPB R4,#33 ;$ ?
10640 134332 001407 BEQ 8$ ;IF YES, GO ADD 11
10641 134334 101004 BHI 7$ ;FOR DIGIT OR DOT ADD 22
10642 134336 062704 000040 ADD #40,R4 ;FOR LETTER ADD 100
10643 134342 062704 000016 6$: ADD #16,R4
10644 134346 062704 000011 7$: ADD #11,R4
10645 134352 062704 000011 8$: ADD #11,R4
10646 134356 110423 9$: MOVB R4,(3)+ ;STORE RESULT
10647 134360 012604 MOV (6)+,R4 ;GET NEXT BYTE
10648 134362 100351 BPL 3$ ;BR IF NOT STACK STOP
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 301
DTA11 PAL[KL,SYS] Page 23.1 PROGRAM FILE LOADER, 4-SEPT-75
10649 POP R0
10650 134366 000665 $$$DVX: BR $$DVX
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 302
DTA11 PAL[KL,SYS] Page 24 PROGRAM FILE LOADER, 4-SEPT-75
10651 ;DECTAPE READ/WRITE FILE ROUTINES
10652
10653 134370 005737 151172 $DTRDFL:TST DVBUF ;ANY DATA BLOCKS REMAINING ?
10654 134374 001002 BNE $DTRFL ;YES
10655 $$DTXE: EXITERR ;NO
10656 134376 000137 124036 JMP $EXITE
10657
10658 134402 013737 151172 151052 $DTRFL: MOV DVBUF,DTBLK ;SET REQUESTED BLOCK
10659 134410 012737 151172 151054 MOV #DVBUF,CASAV ;SET BUFFER ADDRESS
10660 134416 012737 777400 151056 MOV #-256.,WCSAV ;SET WORD COUNT
10661
10662 134424 104161 DTREAD ;DECTAPE READ
10663 134426 103404 BCS $$DTXC ;FAILED
10664
10665 134430 012700 134466 MOV #$DTINFO,R0
10666 $$DTX: EXIT
10667 134434 000137 124064 JMP $EXIT
10668
10669 134440 000137 100004 $$DTXC: JMP $CNTLC ;FAILED
10670
10671 134444 012737 151172 151054 $DTWTFL:MOV #DVBUF,CASAV
10672 134452 012737 777400 151056 MOV #-256.,WCSAV
10673
10674 134460 104205 DTWRT ;WRITE DECTAPE
10675 134462 103364 BCC $$DTX ;OK
10676 134464 000765 BR $$DTXC ;FAILED
10677
10678 134466 151174 $DTINFO:DVBUF+2 ;FIRST USABLE DATA WORD
10679 134470 000776 510. ;BYTE COUNT
10680
10681 134472 012700 151052 $DTBASE:MOV #DTBLK,R0 ;RETURN PARAMETER BASE ADDRESS
10682 134476 000756 BR $$DTX
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 303
DTA11 PAL[KL,SYS] Page 25 PROGRAM FILE LOADER, 4-SEPT-75
10683 ;DECTAPE DEVICE READ/WRITE ROUTINE
10684
10685 134500 012700 000005 $DTREAD:MOV #TCRDATA+TCDO,R0
10686 134504 000402 BR $DTXFR
10687
10688 134506 012700 000015 $DTWRT: MOV #TCWDATA+TCDO,R0
10689
10690 134512 010037 151060 $DTXFR: MOV R0,DTXCMD ;SAVE COMMAND
10691 134516 012737 000003 151062 MOV #3,TRYCTR ;SET MAXIMUM TRY COUNT, 3.
10692
10693 134524 113704 157277 $DTXF1: MOVB DTUNIT+1,R4 ;SETUP UNIT
10694 134530 013737 151056 177344 MOV WCSAV,@#TCWC ;SETUP WORD COUNT
10695 134536 013737 151054 177346 MOV CASAV,@#TCBA ;SETUP READ ADDRESS
10696 134544 012700 000003 MOV #TCRNUM+TCDO,R0
10697 134550 012701 177342 MOV #TCCM,R1
10698 134554 012703 004000 MOV #TCREV,R3
10699 134560 013702 151052 MOV DTBLK,R2 ;SETUP BLOCK # AND DIRECTION
10700 134564 100004 BPL $DTXF2
10701 134566 005402 NEG R2
10702 134570 062704 000010 ADD #10,R4 ;REVERSE, SET REV INDICATOR
10703 134574 050300 BIS R3,R0 ;START UP IN REVERSE
10704
10705 134576 012737 000006 151074 $DTXF2: MOV #6,REVCNT ;SET MAXIMUM REVERSAL COUNT, 6.
10706 134604 005037 151072 CLR INTSW ;SET INTSW FOR SEARCH
10707
10708 $DTXF3: PUSH R3
10709 134612 004737 120670 JSR PC,$TIRDY ;ANY OPERATOR INTERRUPTS ?
10710 134616 103413 BCS 2$ ;NO
10711 134620 113703 147744 MOVB $TICHR,R3 ;GET CHAR
10712 134624 142703 000200 BICB #200,R3
10713 134630 122703 000003 CMPB #CNTRLC,R3 ;IS IT CONTROL C ?
10714 134634 001004 BNE 2$ ;NO
10715 134636 042711 000116 BIC #116,(R1) ;YES, STOP DECTAPE
10716 134642 000137 120524 JMP $TICC ;AND ABORT
10717 2$: POP R3
10718 134650 053700 157276 BIS DTUNIT,R0 ;SELECT UNIT
10719 134654 010011 MOV R0,(R1) ;SET TCCM
10720 134656 032711 100200 1$: BIT #TCERR+TCRDY,(R1) ;WAIT FOR DONE OR ERROR
10721 134662 001775 BEQ 1$
10722 134664 100445 BMI DTER ;BR IF ERROR
10723 134666 105737 151072 TSTB INTSW ;SEARCH OR TRANSFER ?
10724 134672 001110 BNE DATINT ;BR IF TRANSFER
10725 134674 023702 177350 CMP @#TCDT,R2 ;BLOCK MATCH ?
10726 134700 001423 BEQ DTSRF ;BR IF YES
10727 134702 003011 BGT DTSRE ;BR IF LARGER
10728 134704 030311 BIT R3,(R1) ;SMALLER, REVERSE ?
10729 134706 001740 BEQ $DTXF3 ;FORWARD, CONTINUE DIRECTION
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 304
DTA11 PAL[KL,SYS] Page 26 PROGRAM FILE LOADER, 4-SEPT-75
10730 134710 062737 000003 177350 DTSRA: ADD #3,@#TCDT ;+3 TO TCDT
10731 134716 023702 177350 CMP @#TCDT,R2 ;LOWER BY 3 OR MORE ?
10732 134722 101461 BLOS DTREV ;YES, GO REVERSE
10733 134724 000731 BR $DTXF3 ;NO, CONTINUE DIRECTION
10734
10735 134726 030311 DTSRE: BIT R3,(R1) ;BLK HIGH, CHECK DIRECTION
10736 134730 001327 BNE $DTXF3 ;BR IF REV, CONTINUE DIRECTION
10737 134732 162737 000003 177350 SUB #3,@#TCDT ;FWD, -3 TO TCDT
10738 134740 020237 177350 CMP R2,@#TCDT ;HIGHER BY 3 OR MORE ?
10739 134744 003450 BLE DTREV ;REVERSE IF HIGHER BY 3 OR MORE
10740 134746 000720 BR $DTXF3 ;NO, CONTINUE DIRECTION
10741
10742 134750 123704 177343 DTSRF: CMPB @#TCCM1,R4 ;BLOCK SAME, SAME DIRECTION ?
10743 134754 001315 BNE $DTXF3 ;BR IF NOT, CONTINUE SEARCH
10744 134756 105137 151072 $DTXF4: COMB INTSW ;WANTED ???
10745 134762 113700 151060 MOVB DTXCMD,R0 ;SET UP XFER COMMAND
10746 134766 005737 151052 TST DTBLK
10747 134772 100306 BPL $DTXF3 ;FORWARD READ
10748 134774 050300 BIS R3,R0 ;REVERSE READ
10749 134776 000704 BR $DTXF3
10750
10751 135000 105737 151072 DTER: TSTB INTSW ;SEARCH OR XFER ?
10752 135004 001003 BNE DTERA ;BR IF XFER
10753 135006 005737 177340 TST @#TCST ;END ZONE ?
10754 135012 100425 BMI DTREV ;BR IF YES, TO REVERSE
10755 135014 032737 063000 177340 DTERA: BIT #TCSOFT,@#TCST ;CHECK FOR SOFT ERROR
10756 135022 001414 BEQ DTHDER ;BR IF NOT SOFT ERROR
10757 135024 105337 151062 DECB TRYCTR ;3RD TRY ?
10758 135030 001667 BEQ $DTXF3 ;BR IF YES
10759 135032 000634 BR $DTXF1 ;GO TRY AGAIN
10760
10761 135034 042711 000116 DTERB: BIC #116,(R1) ;STOP DECTAPE
10762 PMSG <?SOFT>
10763 135040 104025 $PMSG
10764 135042 146733 $$CLIT
10765 DTERC: PMSG < DTA ERR>
10766 135044 104025 $PMSG
10767 135046 146741 $$CLIT
10768 EXITERR
10769 135050 000137 124036 JMP $EXITE
10770
10771 135054 042711 000116 DTHDER: BIC #116,(R1) ;STOP DECTAPE
10772 PMSG <?HARD>
10773 135060 104025 $PMSG
10774 135062 146752 $$CLIT
10775 135064 000767 BR DTERC
10776
10777 135066 060300 DTREV: ADD R3,R0 ;CHANGE DIRECTION
10778 135070 042700 010000 BIC #BIT12,R0
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 305
DTA11 PAL[KL,SYS] Page 26.1 PROGRAM FILE LOADER, 4-SEPT-75
10779 135074 105337 151074 DTREVC: DECB REVCNT ;6TH REVERSAL ?
10780 135100 001243 BNE $DTXF3 ;BR IF NOT
10781 135102 042711 000116 BIC #116,(R1) ;STOP DECTAPE
10782 PMSG <?REV>
10783 135106 104025 $PMSG
10784 135110 146760 $$CLIT
10785 135112 000754 BR DTERC
10786
10787 135114 042711 000116 DATINT: BIC #116,(R1) ;STOP DECTAPE
10788 EXIT ;DONE
10789 135120 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 306
DTA11 PAL[KL,SYS] Page 27 ASCR50 ASCII TO RAD50 CONVERSION ROUTINE
10790 .SBTTL ASCR50 ASCII TO RAD50 CONVERSION ROUTINE
10791
10792 ;CALL:
10793 ; ASCR50
10794 ; ASCII ADDRESS
10795 ; RAD50 ADDRESS
10796 ;NINE BYTES OF ASCII INPUT
10797 ;THREE WORDS OF RAD50 OUTPUT
10798
10799 135124 062766 000004 000012 $ASCR50:ADD #4,12(SP) ;RETURN OVER TRAILING PARAMETERS
10800 PUSH R0
10801 135134 013705 147634 MOV $EMADR,R5
10802 135140 012501 MOV (R5)+,R1 ;SETUP ASCII ADDRESS
10803 135142 011504 MOV (R5),R4 ;SETUP RAD50 STORAGE ADDRESS
10804 135144 012703 066600 MOV #066600,R3
10805 135150 005014 1$: CLR (R4) ;RESULT WORD
10806 135152 012700 135242 2$: MOV #30$,R0 ;SETUP SCAN TABLE
10807 135156 112002 3$: MOVB (R0)+,R2 ;PUT CONVERSION IN R2
10808 135160 001425 BEQ 20$ ;IF END OF TABLE, ERROR
10809 135162 121120 CMPB (R1),(R0)+ ;COMPARE ASCII CHAR
10810 135164 103423 BLO 20$ ;IF LESS THAN TABLE ENTRY, ERROR
10811 135166 121120 CMPB (R1),(R0)+
10812 135170 101372 BHI 3$ ;LOOP, HAVEN'T FOUND YET
10813 135172 112100 MOVB (R1)+,R0 ;FOUND, ASCII CHAR TO R0
10814 135174 060200 ADD R2,R0 ;CONVERT
10815 135176 006314 ASL (R4)
10816 135200 006314 ASL (R4)
10817 135202 006314 ASL (R4)
10818 135204 061400 ADD (R4),R0
10819 135206 006314 ASL (R4)
10820 135210 006314 ASL (R4)
10821 135212 060014 ADD R0,(R4)
10822 135214 006303 ASL R3 ;SHIFT RAD50 WORD COUNTER
10823 135216 100755 BMI 2$ ;NOT DONE WITH THIS RAD50 YET
10824 135220 001402 BEQ 10$ ;IF 0, ALL DONE
10825 135222 005724 TST (R4)+ ;STEP TO NEXT RAD50 WORD
10826 135224 000751 BR 1$ ;GO DO NEXT
10827 10$: POP R0
10828 EXIT
10829 135230 000137 124064 JMP $EXIT
10830 20$: POP R0
10831 EXITERR
10832 135236 000137 124036 JMP $EXITE
10833
10834 135242 340
10835 135243 040
10836 135244 040 30$: .BYTE 340,' ,' ;SPACE
10837 135245 367
10838 135246 044
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 307
DTA11 PAL[KL,SYS] Page 27.1 ASCR50 ASCII TO RAD50 CONVERSION ROUTINE
10839 135247 044 .BYTE 367,'$,'$ ;DOLLAR SIGN
10840 135250 356
10841 135251 056
10842 135252 056 .BYTE 356,'.,'. ;PERIOD
10843 135253 356
10844 135254 060
10845 135255 071 .BYTE 356,'0,'9 ;DIGITS
10846 135256 300
10847 135257 101
10848 135260 132 .BYTE 300,'A,'Z ;UPPER CASE LETTERS
10849 ; .ENABL LC
10850 135261 240
10851 135262 141
10852 135263 172 .BYTE 240,'a,'z ;LOWER CASE LETTERS
10853 135264 000 .BYTE 0 ;INDICATE THE END OF THE TABLE
10854 135266 .EVEN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 308
KLDCP PAL[KL,SYS] Page 5.6 ASCR50 ASCII TO RAD50 CONVERSION ROUTINE
10855
10856 ;Disk boot for WAITS
10857 .LIF DF BOOASB
10858 .INSRT BOOT.PAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 309
BOOT PAL[KL,SYS] Page 1 ASCR50 ASCII TO RAD50 CONVERSION ROUTINE
10859 COMMENT ⊗ VALID 00003 PAGES
10860 C REC PAGE DESCRIPTION
10861 C00001 00001
10862 C00002 00002 .SBTTL DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
10863 C00005 00003 $DS DS command to copy DSKDMP BOOT into KL10 and start it.
10864 C00007 ENDMK
10865 C⊗;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 310
BOOT PAL[KL,SYS] Page 2 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
10866 .SBTTL DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
10867
10868 ;bootbg is located in 11 high core (152210)
10869 ;bootsz is 2260
10870
10871 ;LD Command to load the bootstrap code from the dectape into 11 memory.
10872
10873 .IF DF BOOASB
10874
10875 ;LOAD DSKDMP BOOTSTRAP
10876 135266 012703 147702 LDBOOT: MOV #L10ADR+2,R3 ;SETUP BLOCK START ADDRESS POINTER
10877 135272 005013 CLR (R3)
10878 135274 113713 150741 MOVB LDCNT+1,(R3) ;HI-BYTE OF LDCNT IS ADR BITS 18 & 19
10879 135300 013743 150742 MOV LDADR,-(R3) ;SETUP ADR BITS 20-35
10880 135304 005737 150730 TST LDZBLK ;IS IT A Z LINE?
10881 135310 001437 BEQ LDBDAT ;NO, LOAD DATA
10882 135312 012337 152262 MOV (R3)+,BOOTBG ;STARTING ZERO ADDRESS (LOW 16 BITS)
10883 135316 011337 152264 MOV (R3),BOOTBG+2 ; HIGH TWO BITS (18 AND 19)
10884 135322 005001 CLR R1
10885 135324 012702 150744 MOV #LDATA,R2
10886 135330 113703 150740 MOVB LDCNT,R3
10887 135334 062201 1$: ADD (R2)+,R1 ;ACCUMULATE TOTAL # WORDS TO ZERO
10888 135336 005303 DEC R3
10889 135340 001375 BNE 1$
10890 135342 010102 MOV R1,R2
10891 SL R1,1
10892 135346 060201 ADD R2,R1 ;TIMES 3 IS NUMBER OF PDP-11 WORDS
10893 135350 020127 002260 CMP R1,#BOOTSZ
10894 135354 003404 BLE 2$ ;BRANCH IF SMALL ENOUGH
10895 PMSG <?BOOT TOO LONG>
10896 135356 104025 $PMSG
10897 135360 146765 $$CLIT
10898 135362 000137 100004 JMP $CNTLC
10899
10900 135366 012701 152272 2$: MOV #BOOTBF,R1
10901 135372 012702 002260 MOV #BOOTSZ,R2
10902 135376 005021 3$: CLR (R1)+
10903 135400 005302 DEC R2
10904 135402 001375 BNE 3$ ;CLEAR OUT THE BOOT BUFFER
10905 135404 000137 131150 LDBLD2: JMP LLD2 ;DO NEXT LINE
10906
10907 135410 113700 150740 LDBDAT: MOVB LDCNT,R0 ;WC
10908 135414 001421 BEQ LDBXFR ;WC=0 MEANS TRANSFER BLOCK
10909 135416 012701 150744 MOV #LDATA,R1
10910 135422 013702 150742 MOV LDADR,R2
10911 135426 163702 152262 SUB BOOTBG,R2 ;GET OFFSET FROM START OF BUFFER
10912 135432 010203 MOV R2,R3
10913 SL R2,2
10914 SL R3,1
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 311
BOOT PAL[KL,SYS] Page 2.1 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
10915 135442 060302 ADD R3,R2 ;TIMES 6 GIVES BYTE OFFSET FROM BOOTBF
10916 135444 062702 152272 ADD #BOOTBF,R2
10917 135450 012122 5$: MOV (R1)+,(R2)+ ;COPY A WORD
10918 135452 005300 DEC R0
10919 135454 001375 BNE 5$
10920 135456 000752 BR LDBLD2
10921
10922 135460 012337 152266 LDBXFR: MOV (R3)+,BOOTSA
10923 135464 011337 152270 MOV (R3),BOOTSA+2 ;SAVE AWAY STARTING ADDRESS
10924 135470 000137 131772 JMP LDDONE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 312
BOOT PAL[KL,SYS] Page 3 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
10925 ;$DS DS command to copy DSKDMP BOOT into KL10 and start it.
10926
10927 135474 104022 $DS: TTITRM
10928 135476 005737 152266 TST BOOTSA
10929 135502 001007 BNE 2$
10930 135504 005737 152270 TST BOOTSA+2
10931 135510 001004 BNE 2$
10932 PMSG <?LOAD DSKDMP - USE LD>
10933 135512 104025 $PMSG
10934 135514 147004 $$CLIT
10935 135516 000137 100004 JMP $CNTLC
10936
10937 135522 023727 157262 000036 2$: CMP PEBITS,#36
10938 135530 001410 BEQ 3$
10939 135532 023727 157262 000037 CMP PEBITS,#37
10940 135540 001404 BEQ 3$
10941 PMSG <FIX PARITY ENABLES - PE 36>
10942 135542 104025 $PMSG
10943 135544 147032 $$CLIT
10944 135546 000137 100004 JMP $CNTLC
10945
10946 135552 023727 157252 000017 3$: CMP CLKDFL+4,#17
10947 135560 001402 BEQ 4$
10948 PMSG <SOME CACHE DISABLED - USE CE 17\>
10949 135562 104025 $PMSG
10950 135564 147065 $$CLIT
10951 135566 012703 147702 4$: MOV #L10ADR+2,R3
10952 135572 013713 152264 MOV BOOTBG+2,(R3)
10953 135576 013743 152262 MOV BOOTBG,-(R3)
10954 135602 012702 000620 MOV #BOOTWD,R2 ;NUMBER OF PDP-10 WORDS IN BUFFER
10955 135606 012704 152272 MOV #BOOTBF,R4
10956 135612 104076 MRESET
10957 135614 104100 SM
10958 135616 010301 1$: MOV R3,R1
10959 135620 010400 MOV R4,R0
10960 135622 104107 DPOSVR
10961 135624 103420 BCS DSVER
10962 135626 005213 INC (R3) ;STAY IN SAME 64K SECTION
10963 135630 062704 000006 ADD #6,R4 ;NEXT PDP-10 WORDS WORTH
10964 135634 005302 DEC R2
10965 135636 001367 BNE 1$
10966 135640 012704 157204 MOV #PGOADR,R4
10967 135644 013724 152266 MOV BOOTSA,(R4)+
10968 135650 013714 152270 MOV BOOTSA+2,(R4)
10969 135654 012737 000002 157202 MOV #2,PGOCTL
10970 135662 000137 113216 JMP $$GO ;START IT UP
10971
10972 DSVER: PMSG <DEX ERROR IN DS>
10973 135666 104025 $PMSG
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 313
BOOT PAL[KL,SYS] Page 3.1 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
10974 135670 147126 $$CLIT
10975 135672 000137 100004 JMP $CNTLC
10976
10977 .ENDC ;IF DF BOOASB
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 314
KLDCP PAL[KL,SYS] Page 5.7 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
10978
10979 ;RX01 floppies
10980 .LIF DF RXASB
10981 .INSRT FLOPPY.PAL
10982
10983 ;RP04 disk
10984 .LIF DF RPASB
10985 .INSRT RP0411.PAL
10986
10987 ;queued message protocol
10988 .LIF DF %%QMP
10989 .INSRT QMP11.PAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 315
QMP11 PAL[KL,SYS] Page 1 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
10990 COMMENT ⊗ VALID 00015 PAGES
10991 C REC PAGE DESCRIPTION
10992 C00001 00001
10993 C00003 00002 MACROS AND QUEUE ENTRY DEFINITIONS
10994 C00005 00003 ETHERNET OUTPUT COMPLETION INTERRUPT ROUTINE ENOINT, SNDEN, SNDENR
10995 C00009 00004 ENIINT ETHERNET INPUT COMPLETION INTERRUPT ROUTINE
10996 C00016 00005 DTEINT, DTE10D Interrupt routines
10997 C00019 00006 DTE11D - COMPLETION OF TO11 TRANSFER FROM DTE
10998 C00025 00007 QMPCMD - ROUTINE CALLED FROM KLDCP WHEN 10 SENDS ITEM COUNT
10999 C00029 00008 SND10 - ROUTINE TO QUEUE BLOCK FOR XFER TO 10
11000 C00032 00009 QINI - ROUTINE TO INITIALIZE QUEUE STRUCTURES
11001 C00035 00010 $QUEUE - GENERALIZED QUEUE ROUTINE
11002 C00037 00011 QMPINI - ROUTINE TO INITIALIZE INTERRUPT ADDRESSES ETC.
11003 C00040 00012 RQCB/RLCB: first fit dynamic core allocation routines
11004 C00042 00013 $RLCB - ReLease Core Block
11005 C00046 00014 $RQCB - REQUEST CORE BLOCK
11006 C00051 00015 $SAVAL, $SAVVR, $SAVRG Register Save and Restore Co-routines
11007 C00054 ENDMK
11008 C⊗;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 316
QMP11 PAL[KL,SYS] Page 2 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11009 ; MACROS AND QUEUE ENTRY DEFINITIONS
11010 ;
11011
11012 .MACRO CALL A
11013 JSR PC,A
11014 .ENDM
11015
11016 .MACRO RETURN
11017 RTS PC
11018 .ENDM
11019
11020 .MACRO SAVAL
11021 JSR PC,$SAVAL
11022 .ENDM
11023
11024 .MACRO SAVVR
11025 JSR R2,$SAVVR
11026 .ENDM
11027
11028 .MACRO SAVRG
11029 JSR R5,$SAVRG
11030 .ENDM
11031
11032 .MACRO QUEUE A
11033 JSR R5,$QUEUE
11034 .WORD A
11035 .ENDM
11036
11037 .MACRO QCLR A
11038 JSR R5,$QCLR
11039 .WORD A
11040 .ENDM
11041
11042 ; THE FOLLOWING DEFINITIONS ARE FOR QUEUE HEADERS
11043 ;
11044 000000 QCHN=0 ; OFFSET TO CHAIN POINTER IN QUEUE ENTRY
11045 000002 QSIZ=2 ; OFFSET FROM ENTRY TO BYTE COUNT FOR QUEUE ENTRY
11046 000004 QREQ=4 ; OFFSET FROM ENTRY TO REQUEST VALUE FOR QUEUE ENTRY
11047 000006 QENWC=6 ; OFFSET TO ETHERNET PACKET WORD COUNT
11048 000010 QENMSG==10 ; OFFSET TO START OF EN MESSAGE INSIDE QUEUE BLOCK
11049 ;
11050 000006 QHDRSZ=6 ; SIZE OF QUEUE ENTRY HEADER
11051 ;
11052 000000 QNOPMS=0 ; This packet is a no-op
11053 000001 QECHRY=1 ; THIS PACKET IS AN ECHO RESPONSE
11054 000002 QECHRQ=2 ; REQUEST for an echo response
11055 000003 QENPKT=3 ; An ethernet packet
11056 000004 QENADR=4 ; An ethernet host address.
11057 000005 QDTMSG=5 ; Dectape message
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 317
QMP11 PAL[KL,SYS] Page 2.1 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11058 000006 QENBCC=6 ; Ethernet broadcast-packet control command
11059 ;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 318
QMP11 PAL[KL,SYS] Page 3 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11060 ; ETHERNET OUTPUT COMPLETION INTERRUPT ROUTINE ENOINT, SNDEN, SNDENR
11061 ;
11062 ;
11063 ENOINT: CALL 1$ ; CALL THE REAL INTERRUPT HANDLER
11064 135676 004737 135704 JSR PC,1$
11065 135702 000002 RTI ; THEN RETURN FROM INTERRUPT
11066 ;
11067 ; THIS INTERRUPT HANDLER WILL SAVE AND RESTORE REGISTERS
11068 ;
11069 1$: SAVVR ; SAVE REGS R0-R2
11070 135704 004237 140266 JSR R2,$SAVVR
11071 135710 005737 160024 TST ENOCSR ; TEST FOR ERROR INDICATION
11072 135714 100417 BMI 3$ ; IF MI THEN COLLISION OR OTHER ERROR
11073 135716 005237 157130 INC EN0PKO ; INCREMENT COUNT OF SUCCESSFUL I/OS
11074 135722 013700 157046 2$: MOV ENETQ,R0 ; GET QUEUE ADDRESS TO RELEASE BLOCK
11075 135726 001425 BEQ 5$ ; QUEUE EMPTY, MAYBE QUEUE RESET?
11076 135730 011037 157046 MOV (R0),ENETQ ; UNCHAIN BLOCK FROM QUEUE
11077 135734 001002 BNE 21$ ; IF NE THEN MORE IN CHAIN
11078 135736 005037 157050 CLR ENETQ+2 ; IF QUEUE EMPTY, ZERO NEWEST POINTER
11079 21$:
11080 CALL QGIVE ; NOW GO RELEASE THE CORE BLOCK
11081 135742 004737 136766 JSR PC,QGIVE
11082 CALL SNDEN ; CHECK ETHERNET QUEUE AND RESTART I/O
11083 135746 004737 136010 JSR PC,SNDEN
11084 RETURN ; RETURN FROM INTERRUPT
11085 135752 000207 RTS PC
11086
11087 135754 005237 157126 3$: INC EN0ER1 ; STEP TOTAL RETRY COUNT
11088 135760 005337 157114 DEC EN0TRY ; DECREMENT CURRENT RETRY COUNT
11089 135764 003003 BGT 4$ ; OK, RETRY THE MESSAGE AGAIN
11090 135766 005237 157124 INC EN0PER ; STEP COUNT OF PERMANENT ERRORS
11091 135772 000753 BR 2$ ; THROW THE BUFFER AWAY, TRY NEXT
11092
11093 4$: CALL SNDENR ; RETRY THE CURRENT BUFFER
11094 135774 004737 136016 JSR PC,SNDENR
11095 RETURN ; AND RETURN
11096 136000 000207 RTS PC
11097
11098 136002 005037 160024 5$: CLR ENOCSR ; CLEAR INTERRUPT ENABLE BIT
11099 RETURN
11100 136006 000207 RTS PC
11101
11102
11103 ; SNDEN SNDENR - Transmit message at head of ENET Queue to the Ethernet
11104 ;
11105 ;SNDENR is the entry point for a retry.
11106 ;
11107 136010 012737 000010 157114 SNDEN: MOV #10,EN0TRY ; SET DEFAULT RETRY COUNT
11108 136016 013700 157046 SNDENR: MOV ENETQ,R0 ; GET ADDRESS OF NEXT QUEUE ENTRY
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 319
QMP11 PAL[KL,SYS] Page 3.1 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11109 136022 001424 BEQ 3$ ; NOTHING IN QUEUE
11110 136024 016001 000006 MOV QENWC(R0),R1 ; GET PACKET WORD COUNT FROM BLOCK
11111 136030 003001 BGT 1$ ; IF GT THEN CONTINUE
11112 136032 104000 FATAL ; OTHERWISE INDICATE ERROR
11113
11114 136034 005401 1$: NEG R1 ; MAKE 2'S COMPLEMENT FOR I/O
11115 136036 010137 160020 2$: MOV R1,ENOWC ; SET WORD COUNT IN EN DEVICE
11116 136042 062700 000010 ADD #QENMSG,R0 ; POINT TO DATA IN QUEUE ENTRY
11117 136046 010037 160022 MOV R0,ENOWA ; SET WORD ADDRESS IN EN DEVICE
11118 136052 013702 157114 MOV EN0TRY,R2 ; USE RETRY VALUE TO SET DELAY
11119 136056 016237 157056 160026 MOV EN0DLY(R2),ENODLY ; SET DELAY VALUE IN EN DEVICE
11120 136064 012737 000101 160024 MOV #101,ENOCSR ; SET GO AND INTERRUPT ENABLE
11121 RETURN ; AND RETURN
11122 136072 000207 RTS PC
11123
11124 136074 005037 160024 3$: CLR ENOCSR ; CLEAR INT ENABLE AND GO
11125 RETURN
11126 136100 000207 RTS PC
11127 ;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 320
QMP11 PAL[KL,SYS] Page 4 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11128 ; ENIINT ETHERNET INPUT COMPLETION INTERRUPT ROUTINE
11129 ;
11130 ; ENTERED AT COMPLETION OF ETHERNET INPUT
11131 ;
11132 ENIINT: CALL 1$ ; CALL THE REAL INTERRUPT HANDLER
11133 136102 004737 136110 JSR PC,1$
11134 136106 000002 RTI ; AND RETURN FROM INTERRUPT
11135 ;
11136 1$: SAVVR ; SAVE REGS R0-R2
11137 136110 004237 140266 JSR R2,$SAVVR
11138 136114 010346 MOV R3,-(SP) ; AND ONE MORE
11139 136116 012703 000002 MOV #2,R3 ; Select other input buffer
11140 136122 163703 157106 SUB EN0IND,R3
11141 136126 010346 MOV R3,-(SP) ; Save on index to input buffer on stack
11142 136130 013746 160034 MOV ENICSR,-(SP) ; Save status of this packet
11143 136134 013746 160030 MOV ENIWC,-(SP) ; Save residual word count
11144 CALL ENISET ; Start reading next packet
11145 136140 004737 136270 JSR PC,ENISET
11146 136144 013703 157106 MOV EN0IND,R3 ; Now, select regular buffer
11147 136150 012601 MOV (SP)+,R1 ; GET RESIDUAL WORD COUNT IN R1
11148 136152 005726 TST (SP)+ ; CHECK FOR OVERRUN OR COLLISION
11149 136154 100003 BPL 2$ ; IF PL THEN GOOD PACKET RECIEVED
11150 136156 005237 157120 INC EN0ER2 ; INCREMENT COUNT OF INPUT PERM ERRS
11151 136162 000436 BR 3$ ; AND RESTART THE I/O
11152
11153 136164 005237 157122 2$: INC EN0PKI ; INCREMENT COUNT OF INPUT PACKETS
11154 136170 052701 177000 BIS #177000,R1 ; INTERFACE REQUIRES THIS CROCK
11155 .IF DF PCKASB
11156 MOV EN0BUF(R3),R0
11157 SUB #QENMSG,R0 ; Pretend we're a queue block
11158 CALL ENPCHK ; Check to see if it got clobbered later.
11159 .ENDC; DF PCKASB
11160 136174 062701 000454 ADD #EN0BSZ,R1 ; CONVERT NOW TO POSITIVE W.C.
11161 136200 001427 BEQ 3$ ; HAH, A ZERO LENGTH PACKET...
11162
11163 ;Code to discard quickly any broadcast packets, under control of ENBCCF, set by 10.
11164 136202 016300 157110 MOV EN0BUF(R3),R0 ; address of packet buffer
11165 136206 116002 000001 MOVB 1(R0),R2 ; destination host
11166 136212 001004 BNE 20$ ; just if not broadcast packet
11167 136214 032737 000001 157104 BIT #1,ENBCCF ; see if broadcast packets should be ignored
11168 136222 001416 BEQ 3$ ; jump to ignore
11169
11170 136224 006301 20$: ASL R1 ; MAKE R1 INTO A BYTE COUNT
11171 136226 062701 000010 ADD #QENMSG,R1 ; ADD SPACE FOR BLOCK HDR
11172 CALL QGET ; GO GET THE BUFFER
11173 136232 004737 137006 JSR PC,QGET
11174 136236 103003 BCC 21$ ; C = 0, BUFFER OK, MOVE THE PACKET
11175 136240 005237 157116 INC EN0MEM ; INCREMENT COUNT OF LOST PACKETS (NO MEM)
11176 136244 000405 BR 3$ ; AND RESTART I/O
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 321
QMP11 PAL[KL,SYS] Page 4.1 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11177
11178 21$: CALL ENICOP ; MOVE FROM READ BUFFER TO CORE BLOCK
11179 136246 004737 136314 JSR PC,ENICOP
11180 .IIF DF PCKASB, CALL ENPCHK ; CHECK CHECKSUM
11181 QUEUE TO10Q ; QUEUE THE PACKET TO THE 10
11182 136252 004537 137502 JSR R5,$QUEUE
11183 136256 157052 .WORD TO10Q
11184 ;bug check: (;;;'ed t to make space. We haven't see any recently. TVR/14-Jan-81
11185 ;;; MOVB QENMSG+1(R0),R2 ; "first" byte of message = destination host number
11186 ;;; BEQ 3$ ; zero is broadcast packet.
11187 ;;; CMPB R2,ENIHAD ; compare to our host address
11188 ;;; BEQ 3$ ;
11189 ;;; PMSG <\?EN BAD ADDR\>
11190 ;;;
11191 3$:
11192 .IF DF PCKASB
11193 MOV EN0BUF(R3),R0 ; Fill buffer with fixed pattern to see how
11194 MOV #EN0BSZ,R1 ; hardware is losing...
11195 66$: MOV #52525,(R0)+
11196 SOB R1,66$
11197 .ENDC; DF PCKASB
11198 136260 012637 157106 MOV (SP)+,EN0IND ; Next buffer now becomes current
11199 136264 012603 MOV (SP)+,R3 ; Restore borrowed register
11200 RETURN
11201 136266 000207 RTS PC
11202
11203 ;Setup for Ethernet input. R3 is index of input buffer
11204 136270 016337 157110 160032 ENISET: MOV EN0BUF(R3),ENIWA ; SET BUFFER ADDRESS FOR EN DEVICE
11205 136276 012737 777324 160030 MOV #-EN0BSZ,ENIWC ; AND SET WORD COUNT FOR XFER
11206 136304 012737 000101 160034 MOV #101,ENICSR ; SET GO AND INTERRUPT ENABLE
11207 RETURN ; GO RETURN FROM INTERRUPT
11208 136312 000207 RTS PC
11209
11210 ;enter here with R0 = Address of core block. R1=size of our request
11211 ; R3 = Index of Ethernet input buffer
11212 ENICOP: SAVVR ; SAVE REGS R0-R2
11213 136314 004237 140266 JSR R2,$SAVVR
11214 136320 012760 000003 000004 MOV #QENPKT,QREQ(R0); SET Packet type in block
11215 136326 162701 000010 SUB #QENMSG,R1 ; REDUCE COUNT TO PACKET SIZE (BYTES)
11216 136332 006201 ASR R1 ; AND CHANGE TO WORD COUNT
11217 136334 010160 000006 MOV R1,QENWC(R0) ; STORE PACKET WORD COUNT
11218 136340 062700 000010 ADD #QENMSG,R0 ; POINT R0 TO DATA AREA
11219 136344 016302 157110 MOV EN0BUF(R3),R2 ; SET LOCATION OF FIRST WORD
11220 136350 012220 5$: MOV (R2)+,(R0)+ ; MOVE WORD FROM READ BUFF TO CORE BLOCK
11221 136352 077102 SOB R1,5$ ; LOOP
11222 RETURN ; RETURN FROM MOVE
11223 136354 000207 RTS PC
11224
11225 .IF DF PCKASB ;If checksumming PUPs
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 322
QMP11 PAL[KL,SYS] Page 4.2 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11226
11227 ;Bugtrap: Check PUP checksum of Ethernet packet
11228 ;R0 points to queue entry. (Subtract QENMSG if you have a bare packet)
11229 ENPCHK: SAVVR ;For paranoia's sake
11230 ADD #QENMSG,R0
11231 CMP 2(R0),#1000 ;PUP packet?
11232 BNE 79$ ; No, forget it
11233 CMP (R0)+,(R0)+ ;Skip two header words
11234 MOV (R0),R1 ;Get size
11235 BLE 78$ ; Bad size!
11236 CMP R1,#4000 ;Arbitrary upper limit on size (is this OK?)
11237 BGT 78$
11238 DEC R1 ;Round up, but exclude checksum
11239 ASR R1 ;Convert to words
11240 CLR R2 ;Initial checksum
11241 71$: ADD (R0)+,R2 ;Add in an entry
11242 ADC R2 ;End around carry
11243 ASL R2 ;Cycle left (stupid PDP-11, ROL rotates carry)
11244 ADC R2 ;Part of cycle left, really!
11245 SOB R1,71$ ;Repeat for each word in message
11246 CMP (R0),#177777 ;If checksum is unspecified, all this was
11247 BEQ 79$ ; for nothing
11248 CMP R2,#177777 ;Special fudge to checksum?
11249 BNE 72$ ; No
11250 CLR R2 ;Yes, 177777->0
11251 72$: CMP (R0),R2 ;Check checksum
11252 BEQ 79$ ;Good.
11253 ;We have a bad PUP packet.
11254 78$: br 79$ ;;;FATAL ;Bitch and moan
11255 ;Return, good, bad, otherwise (like non-PUP packet)
11256 79$: RETURN
11257
11258 .ENDC; DF PCKASB
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 323
QMP11 PAL[KL,SYS] Page 5 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11259 ; DTEINT, DTE10D Interrupt routines
11260
11261 ; DTEINT - INTERRUPT ROUTINE ENTERED ON DTE INTERRUPT
11262 ;
11263 ;
11264 DTEINT: CALL 1$ ; USE CALL FOR REGISTER SAVE
11265 136356 004737 136364 JSR PC,1$
11266 136362 000002 RTI ; RETURN FROM INT
11267
11268 1$: SAVRG ; SAVE REGS R3-R5
11269 136364 004537 140242 JSR R5,$SAVRG
11270 136370 017703 020760 MOV @.STDTE,R3 ; GET DTE STATUS IN REG 3
11271 136374 032703 120000 BIT #TO10DN!TO10ER,R3 ; TO10 COMPLETION?
11272 136400 001402 BEQ 2$ ; IF EQ NO
11273 CALL DTE10D ; GO TO THE CHECK ROUTINE
11274 136402 004737 136444 JSR PC,DTE10D
11275 136406 032703 000202 2$: BIT #TO11DN!TO11ER,R3 ; TO11 COMPLETION?
11276 136412 001402 BEQ 4$ ; IF EQ NO
11277 CALL DTE11D ; GO TO THE CHECK ROUTINE
11278 136414 004737 136516 JSR PC,DTE11D
11279 136420 032703 004000 4$: BIT #TO11DB,R3 ; IS IT DOORBELL INTERRUPT?
11280 136424 001406 BEQ 6$ ; IF EQ NO
11281 136426 012737 000001 157136 MOV #1,T11DBF ; YES, SET SOFTWARE DOORBELL
11282 136434 012777 002000 020712 MOV #INT11C,@.STDTE ; AND CLEAR DOORBEL INT
11283 6$: RETURN ; RESTORE AND RTI
11284 136442 000207 RTS PC
11285
11286 ; DTE10D - ROUTINE ENTERED AT COMPLETION OF XFER TO 10
11287 ;
11288 ; Call with R3=Ending status.
11289 ; If error status is seen, we leave dead message in the Q for
11290 ; SND10 to restart. (really, there should be a retry count)
11291 ;
11292 DTE10D: SAVVR ; SAVE REGS R0-R2
11293 136444 004237 140266 JSR R2,$SAVVR
11294 136450 012777 050000 020676 MOV #DON10C!ERR10C,@.STDTE ; RESET FLAGS IN DTE STATUS REG
11295 136456 005037 157134 CLR DTEBSY ; CLEAR THE DTEBSY FLAG NOW.
11296 136462 013700 157052 MOV TO10Q,R0 ; BUFFER ADDRESS.
11297 136466 001412 BEQ 5$ ; Can't happen. BR if no message address.
11298 136470 032703 020000 BIT #TO10ER,R3 ; WAS THIS AN ERROR RETURN?
11299 136474 001007 BNE 5$ ; BR if error. Message remains in the Q.
11300 136476 011037 157052 MOV (R0),TO10Q ; REMOVE THE BUFFER BLOCK FROM QUEUE
11301 136502 001002 BNE 4$ ; NOT LAST ENTRY IN QUEUE
11302 136504 005037 157054 CLR TO10Q+2 ; LAST ENTRY IN QUEUE, ZERO END POINTER
11303 4$: CALL QGIVE ; GO RELEASE THE CORE BLOCK
11304 136510 004737 136766 JSR PC,QGIVE
11305 5$: RETURN ;
11306 136514 000207 RTS PC
11307 ;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 324
QMP11 PAL[KL,SYS] Page 6 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11308 ; DTE11D - COMPLETION OF TO11 TRANSFER FROM DTE
11309 ;
11310 ; ENTERED FROM DTEINT ROUTINE. R3 = DTE Status at Interrupt.
11311 ;
11312 ; In case of transfer error, sender has been notified in
11313 ; his ending status. Sender will retry from the top.
11314 ;
11315 ;
11316 DTE11D: SAVVR ; SAVE REGS R0-R2
11317 136516 004237 140266 JSR R2,$SAVVR
11318 136522 012777 000101 020624 MOV #DON11C!ERR11C,@.STDTE ; Clear DONE and ERROR in DTE STATUS
11319 136530 013700 157042 MOV FR10Q,R0 ; ADDRESS OF BUFFER BLOCK
11320 136534 001416 BEQ 5$ ; Discard interrupt if no msg block
11321 136536 005037 157042 CLR FR10Q ; CLEAR FROM DTE POINTER
11322 136542 005002 CLR R2 ; If error, R2 = 0 for no-op
11323 136544 032703 000002 BIT #TO11ER,R3 ; IS THE ERROR BIT ON TRANSFER SET
11324 136550 001006 BNE 2$ ; If error, branch to call $DTNOP (R2 = 0)
11325 ; NOW LOOK AT THE REQUEST WORD AND SEE WHERE DATA IS MEANT TO GO
11326 136552 016002 000004 MOV QREQ(R0),R2 ; GET THE REQUEST WORD IN R2
11327 136556 006302 ASL R2 ; DOUBLE FOR WORD POINTER
11328 136560 020227 000016 CMP R2,#REQMAX ; bounds test
11329 136564 103012 BHIS T11MSE ; br if out of bounds
11330 136566 004772 136574 2$: JSR PC,@REQLST(R2) ; NOW GO TO THE SUBROUTINE
11331 5$: RETURN ;
11332 136572 000207 RTS PC
11333 ;
11334 ;
11335 136574 136634 REQLST: .WORD $DTNOP ;no-op discard the message
11336 136576 136634 .WORD $ECHRY ;QECHRY - RESPONSE TO AN ECHO REQUEST
11337 136600 136642 .WORD $11ECH ;QECHRQ - REQUEST FOR AN ECHO
11338 136602 136660 .WORD $11ETH ;QENPKT - Request to send An EtherNet Packet
11339 136604 136676 .WORD $11ADR ;QENADR - REQUEST FROM 10 FOR ETHERNET ADDRESS
11340 136606 136634 .WORD $DTNOP ;eventually, dectape messages. now unimplemented
11341 136610 136740 .WORD $ENBCC ;QENBCC - Request to control broadcast packets
11342 000016 REQMAX==.-REQLST
11343
11344 T11MSE: PUSH R0 ;save msg block address
11345 136614 016046 000004 MOV QREQ(R0),-(SP) ;save request type
11346 PMSG <\T11MSE=>
11347 136620 104025 $PMSG
11348 136622 147146 $$CLIT
11349 POP R0
11350 136626 104035 PNTOCT ;PRINT Request type
11351 136630 104031 PCRLF
11352 POP R0 ;restore Msg addr & fall into $ECHRY
11353 $DTNOP: ; no-op
11354 $ECHRY: CALL QGIVE ; JUST FREE THE BLOCK
11355 136634 004737 136766 JSR PC,QGIVE
11356 RETURN ; AND RETURN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 325
QMP11 PAL[KL,SYS] Page 6.1 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11357 136640 000207 RTS PC
11358
11359 136642 012760 000001 000004 $11ECH: MOV #QECHRY,QREQ(R0) ; MAKE PACKET AN ECHO RESPONSE
11360 QUEUE TO10Q ; AND QUEUE IT FOR 10
11361 136650 004537 137502 JSR R5,$QUEUE
11362 136654 157052 .WORD TO10Q
11363 RETURN ;
11364 136656 000207 RTS PC
11365
11366 $11ETH: QUEUE ENETQ ; QUEUE BUFFER BLOCK TO ETHERNET QUEUE
11367 136660 004537 137502 JSR R5,$QUEUE
11368 136664 157046 .WORD ENETQ
11369 136666 103002 BCC 1$ ; BRANCH IF NOT FIRST (ONLY) ENTRY
11370 CALL SNDEN ; OK, QUEUE IT FOR ETHERNET
11371 136670 004737 136010 JSR PC,SNDEN
11372 1$: RETURN
11373 136674 000207 RTS PC
11374
11375
11376 $11ADR: CALL QGIVE ; GO FREE THE QUEUE ENTRY NOW
11377 136676 004737 136766 JSR PC,QGIVE
11378 136702 012701 000010 MOV #QHDRSZ+2,R1 ; NOW WE WILL GET SHORT BLOCK
11379 CALL QGET ; GO GET THE SHORT BLOCK
11380 136706 004737 137006 JSR PC,QGET
11381 136712 103411 BCS 1$ ; Can't get such a block! He'll ask again
11382 136714 013760 157032 000006 MOV ENIHAD,QHDRSZ(R0) ; Store ethernet address.
11383 136722 012760 000004 000004 MOV #QENADR,QREQ(R0) ; SET RESPONSE CODE FOR 10
11384 QUEUE TO10Q ; QUEUE FOR 10
11385 136730 004537 137502 JSR R5,$QUEUE
11386 136734 157052 .WORD TO10Q
11387 1$: RETURN ; AND RETURN
11388 136736 000207 RTS PC
11389
11390 ;Here to set Ethernet broadcast packet control word.
11391 136740 013702 157104 $ENBCC: MOV ENBCCF,R2 ; get old control word to be returned
11392 136744 016037 000006 157104 MOV QHDRSZ(R0),ENBCCF ; set new control word
11393 136752 010260 000006 MOV R2,QHDRSZ(R0) ; put old control word in return packet
11394 QUEUE TO10Q ; and queue for the 10
11395 136756 004537 137502 JSR R5,$QUEUE
11396 136762 157052 .WORD TO10Q
11397 RETURN
11398 136764 000207 RTS PC
11399
11400 136766 016001 000002 QGIVE: MOV QSIZ(R0),R1 ; GET PACKET SIZE IN R1
11401 136772 010002 MOV R0,R2 ; MOV QUEUE ENTRY ADDRESS TO R2
11402 136774 012700 157036 MOV #FREEQ,R0 ; AND ADDRESS OF FREEQ TO R0
11403 CALL $RLCB ; RELEASE THE MEMORY
11404 137000 004737 137722 JSR PC,$RLCB
11405 RETURN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 326
QMP11 PAL[KL,SYS] Page 6.2 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11406 137004 000207 RTS PC
11407
11408 ;QGET - Get a free-core block. Call with R1=Request size in bytes.
11409 ; Returns with Carry Set to signify no block available, or,
11410 ; Returns with Carry Clear, R0 = Block address. QSIZ(R0) and QCHN(R0) setup.
11411 137006 012700 157036 QGET: MOV #FREEQ,R0 ; ADDRESS OF FREEQ LIST HEADER
11412 CALL $RQCB ; ALLOCATE BLOCK
11413 137012 004737 140046 JSR PC,$RQCB
11414 137016 103405 BCS 1$ ; BR if there's no block available
11415 137020 005060 000000 CLR QCHN(R0) ; CLEAR THE CHAIN WORD IN BLOCK
11416 137024 010160 000002 MOV R1,QSIZ(R0) ; SET BUFFER SIZE IN CORE BLOCK
11417 137030 000241 CLC ; RETURN CARRY CLEAR
11418 1$: RETURN
11419 137032 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 327
QMP11 PAL[KL,SYS] Page 7 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11420 ; QMPCMD - ROUTINE CALLED FROM KLDCP WHEN 10 SENDS ITEM COUNT
11421 ;
11422 ; ENTERED WITH:
11423 ; R5 = 14 IN THE HIGH BYTE
11424 ;
11425 QMPCMD: CALL $99
11426 137034 004737 137044 JSR PC,$99
11427 137040 000137 107526 JMP C10DON ; RETURN TO CONS11
11428
11429 $99: SAVVR ; SAVE REGS R0-R2
11430 137044 004237 140266 JSR R2,$SAVVR
11431 PUSH PS ; SAVE OLD PS
11432 137054 012737 000340 177776 MOV #PR7,PS ; AND SET NON-INTERRUPTIBLE STATUS
11433 137062 032777 007777 020246 BIT #7777,@.BC11 ; Is there a transfer already in progress?
11434 137070 001034 BNE QMPCXT ; Yes, the '10 goofed. We'll just ignore it and
11435 ; let the current transfer finish.
11436 ; *** If the DTE is every real hung, we lose!
11437 137072 013701 147576 MOV $ECMD+2,R1 ; WORD COUNT FROM CMD INCLUDES REQUEST
11438 137076 006301 ASL R1 ; MAKE BYTE COUNT FOR CORE ALLOCATION
11439 137100 062701 000004 ADD #QHDRSZ-2,R1 ; ADD ROOM FOR HEADER TO REQUEST SIZE
11440 137104 010137 157034 MOV R1,QMPRQS ; save size of request in case we need QMPRTY
11441 QMPRY1: CALL QGET ; REQUEST MEMORY
11442 137110 004737 137006 JSR PC,QGET
11443 137114 103422 BCS QMPCXT ; BR if there is no buffer available.
11444 137116 005037 157034 CLR QMPRQS ; clear request size to avoid hassle in QMPRTY
11445 137122 010037 157042 MOV R0,FR10Q ; SET HEADER ADDRESS IN FR10Q
11446 137126 062700 000004 ADD #QHDRSZ-2,R0 ; READ REQUEST AND DATA TO QUEUE ENTRY
11447 137132 010077 020204 MOV R0,@.T11AD ; SET BUFFER ADDRESS IN DTE REG
11448 137136 162701 000004 SUB #QHDRSZ-2,R1 ; REDUCE COUNT FOR HEADER SIZE
11449 137142 006201 ASR R1 ; MAKE WORD COUNT AGAIN FOR DTE XFER
11450 137144 005401 NEG R1 ; MAKE TWO'S COMPLEMENT COUNT
11451 137146 042701 170000 BIC #170000,R1 ; CLEAR HIGH BITS FROM COUNT
11452 137152 052701 100000 BIS #INT10,R1 ; SET BIT TO INTERRUPT 10 WHEN DONE
11453 137156 010177 020154 MOV R1,@.BC11 ; AND SET BYTE COUNT IN DTE REG
11454 QMPCXT: POP PS ; RESTORE RUN PRIORITY
11455 137166 000207 RTS PC
11456 ;
11457 ;If there was no buffer space available when the 10 made its request,
11458 ;the QMPCMD routine leaves QMPRQS set to the size of the request.
11459 ;QMPRTY is called from SND10, each time through the command loop.
11460
11461 QMPRTY: SAVVR
11462 137170 004237 140266 JSR R2,$SAVVR
11463 PUSH PS
11464 137200 012737 000340 177776 MOV #PR7,PS ; AND SET NON-INTERRUPTIBLE STATUS
11465 137206 013701 157034 MOV QMPRQS,R1
11466 137212 001763 BEQ QMPCXT
11467 137214 000735 BR QMPRY1
11468
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 328
QMP11 PAL[KL,SYS] Page 8 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11469 ; SND10 - ROUTINE TO QUEUE BLOCK FOR XFER TO 10
11470 ;
11471 ; Called From Console Loop via JSR PC,SND10
11472 ; N.B. ROUTINE RUNS INTERRUPTABLE!!!
11473 ;
11474 SND10: SAVVR ; SAVE REGS R0-R2
11475 137216 004237 140266 JSR R2,$SAVVR
11476 PUSH PS
11477 137226 012737 000340 177776 MOV #PR7,PS ; set us as non-interuptable.
11478 137234 013700 157052 MOV TO10Q,R0 ; Get address of next message to 10
11479 137240 001446 BEQ 3$ ; Nothing in queue. Return
11480 137242 005737 157134 TST DTEBSY ; IS THE DTE CURRENTLY BUSY?
11481 137246 001403 BEQ 5$ ; BR if not busy
11482 137250 005237 157132 INC DTEBCT ; increment the busy count
11483 137254 001040 BNE 3$ ; if it counts out, restart pending xfer
11484 137256 005037 157132 5$: CLR DTEBCT ; reset the busy count
11485 137262 016001 000002 MOV QSIZ(R0),R1 ; GET THE BYTE COUNT FROM BLOCK COUNTER
11486 137266 162701 000004 SUB #QHDRSZ-2,R1 ; SUBTRACT THE HEADER SIZE (INCLUDE REQUEST)
11487 137272 003002 BGT 6$ ; try not to be rediculous!
11488 137274 012701 000002 MOV #2,R1 ; change a negative or zero count to positive.
11489 137300 006201 6$: ASR R1 ; CONVERT TO WORD COUNT FOR DTE XFER
11490 137302 010137 157076 MOV R1,COUN10 ; SET COUNT FOR DEPOSIT IN 10 MEMORY
11491 137306 005401 NEG R1 ; MAKE TWO'S COMPLEMENT FOR XFER
11492 137310 062700 000004 ADD #QHDRSZ-2,R0 ; POINT TO REQUEST WORD PRECEDING DATA
11493 137314 010077 020020 MOV R0,@.T10AD ; SET WORD ADDRESS IN DTE REGISTER
11494 137320 010177 020010 MOV R1,@.BC10 ; SET WORD COUNT IN DTE REGISTER
11495 137324 104055 SETFLG ; SET DTEBSY FLAG SO WE DON'T TRY TO WRITE MORE
11496 137326 157134 DTEBSY ; UNTIL WE ARE FINISHED WITH THIS ONE
11497 137330 011637 177776 MOV (SP),PS ; Restore interrupts. We're done with Q & DTE
11498 137334 012737 004000 147424 .IIF NE EPTREL, MOV #XEPT!PRTOFF,$TADSP ; SET ADDR MODE FOR NXT EXDEP
11499 137342 104106 DPOST ; EMT CALL TO DEPOSIT IN 10 MEMORY
11500 137344 000460 $DTQMP ; ADDRESS IN 10 MEMORY
11501 137346 157076 COUN10 ; ADDRESS OF PARAMETER STRING
11502 137350 012777 000400 017776 MOV #TO10DB,@.STDTE ; RING THE 10'S CHIMES
11503 3$: POP PS
11504 CALL QMPRTY ; See if need a retry of QGET for a TO11 command
11505 137362 004737 137170 JSR PC,QMPRTY
11506 RETURN ; AND RETURN
11507 137366 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 329
QMP11 PAL[KL,SYS] Page 9 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11508 ; QINI - ROUTINE TO INITIALIZE QUEUE STRUCTURES
11509 003000 FREEAD==3000
11510 020000 FREESZ==20000
11511 023000 FREEND==FREEAD+FREESZ ;of course.
11512
11513 ; Called by
11514 ; JSR PC,QINI ;Clear all queues. Initialize free memory pool.
11515
11516 QINI: SAVVR ; SAVE R0-R2
11517 137370 004237 140266 JSR R2,$SAVVR
11518
11519 137374 012700 157036 MOV #FREEQ,R0 ; ADDRESS OF FREEQ LISTHEAD
11520 137400 012701 003000 MOV #FREEAD,R1 ; ADDRESS OF free pool beginning
11521
11522 137404 010137 157110 MOV R1,EN0BUF ; RESERVE FIRST OF FREE CORE
11523 137410 062701 001130 ADD #EN0BSZ*2,R1 ; FOR ETHERNET INPUT BUFFER(S)
11524 137414 010137 157112 MOV R1,EN0BUF+2 ; MUST DOUBLE BUFFER ETHERNET INPUT
11525 137420 062701 001130 ADD #EN0BSZ*2,R1
11526
11527 137424 010120 MOV R1,(R0)+ ; Set address of free block in list head (FREEQ)
11528 137426 005010 CLR (R0) ; CLEAR SECOND WORD (Looks like a zero size blk)
11529 137430 005021 CLR (R1)+ ; FREEQ point to a single block. (no link out)
11530 137432 012711 020000 MOV #FREESZ,(R1) ; set size of the single free block.
11531 137436 162711 002260 SUB #EN0BSZ*4,(R1) ; adjust size to account for EN buffers.
11532
11533 QCLR FR10Q ; CLEAR THE FR10Q
11534 137442 004537 137466 JSR R5,$QCLR
11535 137446 157042 .WORD FR10Q
11536 QCLR TO10Q ; CLEAR THE TO10Q
11537 137450 004537 137466 JSR R5,$QCLR
11538 137454 157052 .WORD TO10Q
11539 QCLR ENETQ ; CLEAR THE ETHERNET QUEUE
11540 137456 004537 137466 JSR R5,$QCLR
11541 137462 157046 .WORD ENETQ
11542
11543 .IF DF FSCASB
11544 CLR WUSED ; Initialize bugtrap counts
11545 CLR NGETS
11546 CLR NGIVES
11547 MOV #1,BFREE ; One BIG block
11548 .ENDC;DF FSCASB
11549
11550 RETURN ;
11551 137464 000207 RTS PC
11552
11553 ; $QCLR - QUEUE RESET ROUTINE
11554 ;
11555 ; CALLED AS: JSR R5,$QCLR
11556 ; .WORD QPB
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 330
QMP11 PAL[KL,SYS] Page 9.1 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11557 ; WHERE QPB IS QUEUE PARAMETER BLOCK
11558 ;
11559 $QCLR: PUSH R0 ; SAVE R0
11560 137470 012500 MOV (R5)+,R0 ; GET QUEUE PARAMETER BLOCK ADDRESS
11561 137472 005020 CLR (R0)+ ; CLEAR POINTER TO OLDEST ENTRY
11562 137474 005020 CLR (R0)+ ; AND POINTER TO NEWEST ENTRY
11563 POP R0 ; RESTORE R0
11564 137500 000205 RTS R5
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 331
QMP11 PAL[KL,SYS] Page 10 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11565 ; $QUEUE - GENERALIZED QUEUE ROUTINE
11566 ;
11567 ; CALLED AS: JSR R5,$QUEUE
11568 ; .WORD QPB
11569 ; Where
11570 ; QPB = the address of the Queue Parameter Block, and
11571 ; R0 = the Address of the new Queue item.
11572 ;
11573 ; The new Queue item is:
11574 ; .WORD CHAIN POINTER
11575 ; .WORD BYTE COUNT (INCLUDES QHDRSZ BYTES FOR HEADER)
11576 ; .WORD REQUEST IDENTIFIER
11577 ; .BYTES DATA
11578 ;
11579 ; and the Queue Parameter Block is
11580 ; .WORD POINTER TO OLDEST ENTRY IN QUEUE
11581 ; .WORD POINTER TO NEWEST ENTRY IN QUEUE
11582 ;
11583 ; Routine returns with Carry set if you have just placed
11584 ; the first item in an empty queue.
11585 ;
11586 $QUEUE: PUSH R2 ; SAVE R2 IN STACK
11587 137504 012502 MOV (R5)+,R2 ; ADDRESS OF QUEUE POINTER BLOCK TO R2
11588 137506 005010 CLR (R0) ; CLEAR CHAIN WORD IN NEW ENTRY
11589 137510 005712 TST (R2) ; IS QUEUE EMPTY
11590 137512 001004 BNE 1$ ; IF NE NO, QUEUE IS NOT EMPTY
11591 137514 010022 MOV R0,(R2)+ ; YES, EMPTY - SET ENTRY ADDRESS
11592 137516 010022 MOV R0,(R2)+ ; AND SET NEWEST ENTRY POINTER
11593 137520 000261 SEC ; SET CARRY, FIRST AND ONLY ENTRY IN QUEUE
11594 137522 000405 BR 2$ ; NOW RETURN
11595 137524 010072 000002 1$: MOV R0,@2(R2) ; CHAIN ENTRY TO CURRENT NEWEST ENTRY
11596 137530 010062 000002 MOV R0,2(R2) ; AND MAKE IT NEWEST ENTRY
11597 137534 000241 CLC ; CLEAR CARRY, NOT ONLY ENTRY IN QUEUE
11598 2$: POP R2 ; RESTORE R2
11599 137540 000205 RTS R5 ; RETURN VIA R5
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 332
QMP11 PAL[KL,SYS] Page 11 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11600 ; QMPINI - ROUTINE TO INITIALIZE INTERRUPT ADDRESSES ETC.
11601 ;
11602 ; CALLED AS: JSR PC,QMPINI
11603 ;
11604 QMPINI: SAVAL ; SAVE REGS R0-R5
11605 137542 004737 140200 JSR PC,$SAVAL
11606 PUSH PS ; SAVE CALLING PRIORITY
11607 137552 012702 000340 MOV #PR7,R2 ; GET PRIORITY SEVEN IN R2
11608 137556 010237 177776 MOV R2,PS ; SET PRIORITY SEVEN NOW
11609 137562 012701 000774 MOV #774,R1 ; GET ADDRESS OF DTE INTERRUPT VECTOR
11610 137566 012721 136356 MOV #DTEINT,(R1)+ ; SET DTE INTERRUPT VECTOR ADDRESS
11611 137572 010221 MOV R2,(R1)+ ; AND INTERRUPT PRIORITY SEVEN
11612 137574 012777 037776 017516 MOV #37776,@.DELAY ; INITIAL DELAY COUNT
11613 137602 052777 000040 017544 BIS #INTRON,@.STDTE ; SET INTERRUPTS ON
11614 ;
11615 137610 012701 000400 MOV #400,R1 ; GET ETHERNET INTERRUPT VECTOR ADDRESS
11616 137614 012721 135676 MOV #ENOINT,(R1)+ ; SET INTERRUPT DISPACH ADDR IN VECTOR
11617 137620 010221 MOV R2,(R1)+ ; AND INTERRUPT PRIORITY SEVEN
11618 137622 012721 136102 MOV #ENIINT,(R1)+ ; SET INTERRUPT DISPACH ADDR IN VECTOR
11619 137626 010221 MOV R2,(R1)+ ; AND INTERRUPT PRIORITY SEVEN
11620 137630 012721 135676 MOV #ENOINT,(R1)+ ; SET INTERRUPT DISPATCH ADDR IN VECTOR
11621 137634 010221 MOV R2,(R1)+ ; AND SET INTERRUPT PRIORITY SEVEN
11622 137636 013737 160036 157032 MOV ENIADR,ENIHAD ; GET THE ETHERNET ADDRESS
11623 137644 105137 157032 COMB ENIHAD ; COMPLEMENT FOR READING
11624 ;
11625 CALL QINI ; INITIALIZE MEMORY AND QUEUES
11626 137650 004737 137370 JSR PC,QINI
11627 ;
11628 137654 012700 157056 MOV #EN0DLY,R0 ; ADDRESS OF DELAY ARRAY FOR EN0
11629 137660 012701 000010 MOV #10,R1 ; MAXIMUM NUMBER OF RETRYS
11630 137664 012702 000200 MOV #200,R2 ; MAXIMUM DELAY
11631 137670 010220 1$: MOV R2,(R0)+ ; PUT DELAY IN TABLE
11632 137672 006202 ASR R2 ; SHIFT IT RIGHT
11633 137674 077103 SOB R1,1$ ; LOOP AND FILL TABLE
11634 ;
11635 137676 005003 CLR R3 ; Select first buffer
11636 137700 010337 157106 MOV R3,EN0IND
11637 CALL ENISET ; Setup to read first packet
11638 137704 004737 136270 JSR PC,ENISET
11639 137710 005037 157104 CLR ENBCCF ; DISABLE PASSING EN BROADCAST PACKETS TO 10
11640 ;
11641 POP PS ; RESTORE ENTRY PRIORITY
11642 RETURN
11643 137720 000207 RTS PC
11644 ;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 333
QMP11 PAL[KL,SYS] Page 12 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11645 ; RQCB/RLCB: first fit dynamic core allocation routines
11646 ;
11647 ; data structures
11648 ;
11649 ; Free block list header:
11650 ;
11651 ; freehd: .word next ; pointer to next free block or zero
11652 ; .word 0 ; always zero (looks like a too-small block)
11653 ;
11654 ; Free block:
11655 ;
11656 ; freebk: .word next ; pointer to next free block or zero
11657 ; .word size ; size of block in bytes
11658 ;
11659 ; Used block: User pointer to the free block addresses "usedbk" below.
11660 ;
11661 ; .word size ; size of block in bytes (and even number)
11662 ; usedbk: .word data ; Size-2 bytes of user data are permitted
11663 ;
11664 ; The free block list is ordered by the core address of the blocks
11665 ; themselves. This is so block agglomeration can be performed with
11666 ; little overhead.
11667 ;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 334
QMP11 PAL[KL,SYS] Page 13 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11668 ; $RLCB - ReLease Core Block
11669 ;
11670 ; Call this subroutine to release a core block to the free list.
11671 ; The free list is searched until the proper slot is found. The Block
11672 ; is merged into the free list. If the block being released is adjacent
11673 ; to other free blocks, then those blocks are agglomerated and the new block
11674 ; is merged into the free list.
11675 ;
11676 ; INPUTS:
11677 ; R0 = ADDRESS OF FREE BLOCK LIST HEAD
11678 ; R2 = ADDRESS OF BLOCK TO RELEASE.
11679 ;
11680 ; OUTPUTS:
11681 ; NONE
11682 ;
11683 $RLCB: SAVRG ; SAVE NON-VOLATILE REGISTERS
11684 137722 004537 140242 JSR R5,$SAVRG
11685 137726 014201 MOV -(R2),R1 ; Point to start of block. Get size
11686 137730 003445 BLE 99$ ; A non-positive size is unlikely and undesirable
11687 137732 032701 000001 BIT #1,R1 ; An odd size is likewise undesirable
11688 137736 001042 BNE 99$ ; So, we bomb out.
11689 137740 022702 003000 CMP #FREEAD,R2 ; Make sure free block is in bounds
11690 137744 101037 BHI 99$ ; BR if out of bounds.
11691 137746 010103 MOV R1,R3 ; Copy length of this block to R3
11692 137750 060203 ADD R2,R3 ; compute end of this block
11693 137752 022703 023000 CMP #FREEND,R3 ; compare to top of free storage
11694 137756 103432 BLO 99$ ; BR if out of bounds.
11695 137760 011003 1$: MOV (R0),R3 ; GET ADDRESS OF NEXT FREE BLOCK
11696 137762 001404 BEQ 2$ ; IF EQ THEN END OF CHAIN
11697 137764 020203 CMP R2,R3 ; COMPARE ADDRESSES
11698 137766 103402 BLO 2$ ; IF LO THEN WE FOUND SLOT
11699 137770 010300 MOV R3,R0 ; SET NEW PREVIOUS ADDRESS
11700 137772 000772 BR 1$ ; GO AGAIN
11701
11702 ;here, R0 is address of previous block. R3 is address of next block.
11703 137774 010312 2$: MOV R3,(R2) ; ASSUME NO AGGLOMERATION. Link out of new blk.
11704 137776 010204 MOV R2,R4 ; CALCULATE ADDRESS OF NEXT BLOCK
11705 140000 060104 ADD R1,R4 ; ADD IN BLOCK SIZE
11706 .IF DF FSCASB
11707 SUB R1,WUSED ; Bugtrap: Decrement number of words in use
11708 INC BFREE ; Assuming no agglomeration
11709 .ENDC;DF FSCASB
11710 140002 020304 CMP R3,R4 ; COMPARE BLOCK ADDRESSES
11711 140004 001002 BNE 3$ ; IF NE DO NOT MERGE BLOCKS
11712 140006 012312 MOV (R3)+,(R2) ; SET NEW FORWARD LINK
11713 140010 061301 ADD (R3),R1 ; ADJUST SIZE
11714 .IIF DF FSCASB, DEC BFREE ; We merged one here.
11715 140012 010210 3$: MOV R2,(R0) ; ASSUME NO AGGLOMERATION
11716 140014 010004 MOV R0,R4 ; CALCULATE ADDRESS OF NEXT BLOCK
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 335
QMP11 PAL[KL,SYS] Page 13.1 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11717 140016 066004 000002 ADD 2(R0),R4 ; ADD IN BLOCK SIZE
11718 140022 020204 CMP R2,R4 ; COMPARE ADDRESSES
11719 140024 001004 BNE 4$ ; IF NE DO NOT MERGE
11720 140026 011210 MOV (R2),(R0) ; SET NEW FORWARD LINK
11721 140030 066001 000002 ADD 2(R0),R1 ; ADJUST SIZE
11722 140034 010002 MOV R0,R2 ; SET NEW BASE ADDRESS OF BLOCK
11723 .IIF DF FSCASB, DEC BFREE ; We merged one here.
11724 140036 010162 000002 4$: MOV R1,2(R2) ; SET SIZE OF BLOCK
11725 .IIF DF FSCASB, INC NGIVES ; Count instances
11726 RETURN ;
11727 140042 000207 RTS PC
11728
11729 140044 104000 99$: FATAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 336
QMP11 PAL[KL,SYS] Page 14 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11730 ; $RQCB - REQUEST CORE BLOCK
11731 ;
11732 ; Call this subroutine to request a core block from the free list.
11733 ; The selection is made on the first fit basis.
11734 ;
11735 ; INPUTS:
11736 ; R0 = ADDRESS OF FREE BLOCK LIST HEAD
11737 ; R1 = Requested size of block in bytes.
11738 ;
11739 ; The size of the request will be increased by 2 and rounded up to
11740 ; be an even number of bytes.
11741 ;
11742 ; OUTPUTS:
11743 ; C=1 IF REQUEST CANNOT BE FULFILLED
11744 ; C=0 IF REQUEST IS SATISFIED. R0 = ADDRESS OF REQUESTED CORE BLOCK.
11745 ; R1 = Requested size rounded up to even #
11746 ;
11747 $RQCB: SAVRG ; SAVE NONVOLATILE REGISTERS
11748 140046 004537 140242 JSR R5,$SAVRG
11749 140052 005701 TST R1 ; make sure request is positive.
11750 140054 003450 BLE 99$ ; can't have idiots around here.
11751 140056 062701 000003 ADD #3,R1 ; Add 2 and round up to next word boundary
11752 140062 042701 000001 BIC #1,R1 ; Clear excess odd bit
11753 ;R0 = address of "previous", R3 = address of "current"
11754 140066 011003 2$: MOV (R0),R3 ; Get address of the next free block.
11755 140070 001440 BEQ 9$ ; BR if end of the list. No block available.
11756 140072 020163 000002 CMP R1,2(R3) ; Is the block big enough?
11757 140076 101402 BLOS 6$ ; BR if the block is large enough.
11758 140100 010300 MOV R3,R0 ; Advance R0 to point to this block
11759 140102 000771 BR 2$ ; and go look at the next block.
11760
11761 ;Here R3 = address of a desirable block. R0 is the predecessor
11762 6$: PUSH R1 ;Save user's size request (+2)
11763 140106 016302 000002 MOV 2(R3),R2 ;Get the size of the block we found
11764 140112 160102 SUB R1,R2 ;Reduce it by the size of this request
11765 140114 022702 000020 CMP #20,R2 ;Is there enough left to be worth splitting?
11766 140120 103004 BHIS 7$ ;BR if fragment too small to split.
11767 140122 010263 000002 MOV R2,2(R3) ;Store size of remainder.
11768 140126 060203 ADD R2,R3 ;Calculate address of piece to return now
11769 140130 000403 BR 8$ ;R3=address to return. R1=Size.
11770
11771 140132 011310 7$: MOV (R3),(R0) ;Here for no split. LINK PREVIOUS TO NEXT
11772 140134 016301 000002 MOV 2(R3),R1 ;this is the actual size of this block
11773 .IIF DF FSCASB, DEC BFREE ;One less thing on free list
11774 140140 010300 8$: MOV R3,R0 ;Copy address block to R0
11775 140142 010120 MOV R1,(R0)+ ;Store size of the block in the block.
11776 140144 022703 003000 CMP #FREEAD,R3 ; Make sure free block is in bounds
11777 140150 101012 BHI 99$ ; BR if out of bounds.
11778 140152 060103 ADD R1,R3 ; compute end of this block
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 337
QMP11 PAL[KL,SYS] Page 14.1 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11779 140154 022703 023000 CMP #FREEND,R3 ; compare to top of free storage
11780 140160 103406 BLO 99$ ; BR if out of bounds.
11781 .IF DF FSCASB
11782 ADD R1,WUSED ;Bugtrap: Update number of words used
11783 INC NGETS ; Increment number of requests
11784 .ENDC; DF FSCASB
11785 POP R1 ;User's request size (+2)
11786 140164 005741 TST -(R1) ;return in R1 the apparent block size.
11787 140166 000241 CLC ; CLEAR CARRY
11788 RETURN
11789 140170 000207 RTS PC
11790
11791 140172 000261 9$: SEC ; SET CARRY
11792 RETURN ;
11793 140174 000207 RTS PC
11794
11795 140176 104000 99$: FATAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 338
QMP11 PAL[KL,SYS] Page 15 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11796 ; $SAVAL, $SAVVR, $SAVRG Register Save and Restore Co-routines
11797 ;
11798 ; $SAVAL - SAVE AND RESTORE R0-R5
11799 ;
11800 ; THIS MODULE IS ENTERED VIA A "JSR PC,$SAVAL" TO SAVE AND
11801 ; SUBSEQUENTLY RESTORE REGISTERS R0 THROUGH R5. AFTER STORING THE
11802 ; REGISTER CONTENST ON THE STACK A CO-ROUTINE CALL IS MADE TO
11803 ; THE CALLING ROUTINE. A SUBSEQUENT "RTS PC" CAUSES THIS
11804 ; SUBROUTINE TO RESTORE ALL REGISTERS AND EXIT VIA AN "RTS PC".
11805 ;
11806 ; ALL REGISTER CONTENTS ARE PRESERVED.
11807 ;
11808 $SAVAL: PUSH R4
11809 PUSH R3
11810 PUSH R2
11811 PUSH R1
11812 PUSH R0 ; SAVE R4-R0
11813 140212 016646 000012 MOV 12(SP),-(SP) ; COPY RETURN ADDR
11814 140216 010566 000014 MOV R5,14(SP) ; SAVE R5
11815 CALL @(SP)+ ; CALL THE CALLER
11816 140222 004736 JSR PC,@(SP)+
11817 POP R0
11818 POP R1
11819 POP R2
11820 POP R3
11821 POP R4
11822 POP R5 ; RESTORE R0-R5
11823 RETURN ; AND RETURN
11824 140240 000207 RTS PC
11825 ;
11826 ; $SAVRG - SAVE AND RESTORE NONVOLATILE REGISTERS, 3,4,5
11827 ;
11828 ; CALLED AS: JSR R5,$SAVRG
11829 ;
11830 $SAVRG: PUSH R4
11831 PUSH R3 ; SAVE R4,R3
11832 PUSH R5 ; PUT RETURN ADDRESS ON STACK
11833 140250 016605 000006 MOV 6(SP),R5 ; RETRIEVE REAL R5
11834 CALL @(SP)+ ; CALL THE CALLER
11835 140254 004736 JSR PC,@(SP)+
11836 POP R3
11837 POP R4
11838 POP R5 ; RESTORE R5
11839 RETURN
11840 140264 000207 RTS PC
11841
11842 ; $SAVVR - SAVE AND RESTORE VOLATILE REGS - R0-R2
11843 ;
11844 ; CALLED AS: JSR R2,$SAVVR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 339
QMP11 PAL[KL,SYS] Page 15.1 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11845 ;
11846 $SAVVR: PUSH R1
11847 PUSH R0 ; SAVE R1 AND R0
11848 PUSH R2 ; SAVE RETURN ADDRESS
11849 140274 016602 000006 MOV 6(SP),R2 ; RESTORE R2
11850 CALL @(SP)+ ; CALL THE CALLER
11851 140300 004736 JSR PC,@(SP)+
11852 POP R0
11853 POP R1
11854 POP R2 ; RESTORE REGS
11855 RETURN ;
11856 140310 000207 RTS PC
11857 ;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 340
KLDCP PAL[KL,SYS] Page 5.8 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11858
11859 ;File loading and command functions
11860 .INSRT APT11.PAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 341
APT11 PALII[KL,SYS] Page 1 DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
11861 COMMENT ⊗ VALID 00014 PAGES
11862 C REC PAGE DESCRIPTION
11863 C00001 00001
11864 C00003 00002 .SBTTL APT10 PDP-11 PROCESS, 13-AUG-75
11865 C00005 00003 DAHLPD=.
11866 C00007 00004 ACTBCK: PMSG <?CKSUM>
11867 C00008 00005 .SBTTL COMMUNICATIONS ROUTINES
11868 C00010 00006 7$: TTICHR GET CONTROL SEQUENCE CHARACTER
11869 C00011 00007 CMERTB: CMER1
11870 C00012 00008 $COMSND:MOV #COUTBF,R5
11871 C00014 00009 $CMRTRY:MOV #COUTBF-4,R0 SETUP MESSAGE POINTER
11872 C00016 00010 $COMLIN:MOV #CINBF-4,R1 START BUFFER ADDRESS
11873 C00018 00011 3$: INC R1 NULL TO END BUFFER
11874 C00020 00012 44$: TST R0 DID CHECKSUM COMPUTE TO 0 ?
11875 C00021 00013 $COMENQ:COMCLR CLEAR COMMUNICATIONS
11876 C00023 00014 $COMCLR:CLR ENQFLG
11877 C00025 ENDMK
11878 C⊗;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 342
APT11 PALII[KL,SYS] Page 2 APT10 PDP-11 PROCESS, 13-AUG-75
11879 .SBTTL APT10 PDP-11 PROCESS, 13-AUG-75
11880
11881 .IF DF MONASB
11882 ACTFIL: CMP #5,LDCNTL ;LOADING ".BIN" ?
11883 BNE 1$
11884 MOV #1,LDCNTL ;YES, ACT10 CONVERTS TO ".A11"
11885 1$: COMENQ ;REQUEST APT10 SERVICE
11886 MOV #$INBUF,R0
11887 COMCMD ;SEND COMMAND TO REMOTE
11888 BCS 2$ ;C-BIT SET, FILE NOT FOUND
11889 CLR ARETRY ;CLEAR RETRY COUNTER
11890 BR ACTLD1 ;GO TO LOAD PROCESS
11891 2$: JMP $NONXF
11892 .ENDC
11893
11894 ACTLD2:
11895 .IF DF MONASB
11896 TST DEVTYP
11897 BMI 1$ ;ACT10
11898 .ENDC
11899 140312 000137 131150 JMP LLD2 ;DECTAPE/RP04
11900 .IF DF MONASB
11901 1$: COMACK ;ACK PREVIOUS LINE
11902 BCS ACTEOF ;C-BIT SET, EOF
11903 CLR ARETRY ;CLEAR RETRY COUNTER
11904
11905 ACTLD1: INC DEVLC ;COUNT LINE
11906 MOV DEVLC,SWR ;DISPLAY
11907 TST LDCNTL ;DOING A "HELP" ?
11908 BPL 1$ ;NO
11909 .ENDC
11910 140316 DAHLP=.
11911 140316 005737 151120 TST DIAFLG ;DOING DIAMON
11912 140322 001407 BEQ 30$ ;NO
11913 140324 005737 150724 TST DEVLC ;YES, FIRST LINE ?
11914 140330 001002 BNE 31$ ;NO
11915 140332 000137 112226 JMP DIAFND ;YES, DIAMON FILE FOUND
11916 140336 000137 112262 31$: JMP DIARNL ;DIAMON READ NEW LINE
11917 140342 005737 147624 30$: TST IFILEF ;DOING AN INDIRECT FILE ?
11918 140346 001402 BEQ 4$
11919 140350 000137 140560 JMP IFILEP ;YES, STORE INPUT
11920 140354 104055 4$: SETFLG
11921 140356 150722 HLPPNT ;NORMAL BACKSLASHES
11922 140360 012700 150500 MOV #$INBUF,R0 ;YES, PRINT INPUT LINE
11923 .IF DF MONASB
11924 TST DEVTYP
11925 BPL 41$
11926 MOV #CINBF,R0
11927 .ENDC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 343
APT11 PALII[KL,SYS] Page 2.1 APT10 PDP-11 PROCESS, 13-AUG-75
11928 140364 104024 41$: PNTAL
11929 140366 005037 150722 CLR HLPPNT
11930 140372 000747 BR ACTLD2 ;REPEAT TILL "EOT"
11931
11932 140374 000137 131306 1$: JMP LDPROC ;GO TO LOAD PROCESS
11933
11934 .LIF DF MONASB
11935 ACTEOF: COMCLR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 344
APT11 PALII[KL,SYS] Page 3 APT10 PDP-11 PROCESS, 13-AUG-75
11936 140400 DAHLPD=.
11937 140400 005737 151120 TST DIAFLG ;DOING DIAMON ?
11938 140404 001402 BEQ 10$ ;NO
11939 140406 000137 112362 JMP DIAEOF ;YES, SEND DIAMON END OF FILE
11940 140412 005737 147624 10$: TST IFILEF ;INDIRECT/DOUBLE INDIRECT ?
11941 140416 001002 BNE 21$ ;YES
11942 140420 104031 PCRLF ;NO, JUST HELP
11943 140422 000422 BR 23$ ;BACK TO CONSOLE
11944
11945 140424 005737 147620 21$: TST JFILEF ;DOUBLE INDIRECT ?
11946 140430 100012 BPL 22$ ;NO
11947 140432 105737 147620 TSTB JFILEF ;PRESENT JUST INDIRECT ?
11948 140436 001407 BEQ 22$ ;YES
11949 140440 105037 147620 CLRB JFILEF ;SET DONE WITH READING "J"
11950 140444 012737 010000 147616 MOV #TOUTBF+5000,JFINP ;SET "J" POINTER TO BEGINNING
11951 140452 000137 100106 JMP CONSL ;START RUNNING
11952
11953 140456 012737 003000 147622 22$: MOV #TOUTBF,IFINP ;SET POINTER TO BEGINNING
11954 140464 105037 147624 CLRB IFILEF
11955 140470 000137 100014 23$: JMP $CONSL ;GO PROCESS INDIRECT FILE
11956
11957 ACTDON:
11958 .IF DF MONASB
11959 COMACK ;ACK TRANSFER BLOCK
11960 BCC 3$
11961 .ENDC
11962 140474 DADONE=.
11963 140474 005737 150726 TST SRTFLG ;SELF START ?
11964 140500 001402 BEQ 1$
11965 140502 000137 113216 JMP $$GO ;YES
11966 140506 000137 100014 1$: JMP $CONSL ;NO
11967
11968 3$: PMSG <?EOF,ERR>
11969 140512 104025 $PMSG
11970 140514 147157 $$CLIT
11971 140516 000137 100004 $$C2: JMP $CNTLC
11972
11973 ACTLDC: PMSG <?LOAD CHR>
11974 140522 104025 $PMSG
11975 140524 147170 $$CLIT
11976 140526 000405 BR ACTERR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 345
APT11 PALII[KL,SYS] Page 4 APT10 PDP-11 PROCESS, 13-AUG-75
11977 ACTBCK: PMSG <?CKSUM>
11978 140530 104025 $PMSG
11979 140532 147202 $$CLIT
11980 140534 000402 BR ACTERR
11981
11982 ACTLDF: PMSG <?FORMAT>
11983 140536 104025 $PMSG
11984 140540 147211 $$CLIT
11985
11986 ACTERR: PMSG < ERR: LOAD LINE >
11987 140542 104025 $PMSG
11988 140544 147221 $$CLIT
11989 140546 013700 150724 MOV DEVLC,R0
11990 140552 104037 PNTDEC ;PRINT LOAD LINE NUMBER
11991 140554 104031 PCRLF
11992 .IF DF MONASB
11993 TST DEVTYP
11994 BPL 2$ ;DECTAPE/RP04
11995 INC ARETRY
11996 CMP #4,ARETRY ;REACHED RETRY LIMIT ?
11997 BEQ 1$ ;YES
11998 COMNAK ;NO, NAK MESSAGE & TRY AGAIN
11999 DEC DEVLC ;DECREMENT LINE COUNT
12000 JMP ACTLD1
12001
12002 1$: PMSG <CAN'T LOAD>
12003 .ENDC
12004 140556 000757 2$: BR $$C2
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 346
APT11 PALII[KL,SYS] Page 5 COMMUNICATIONS ROUTINES
12005 .SBTTL COMMUNICATIONS ROUTINES
12006
12007 .IF DF MONASB
12008
12009 $COMACK:INC MSGNBR ;COUNT MESSAGE
12010 $$CMACK:MOV #ACKMSG,R5 ;MESSAGE ACKNOWLEDGE
12011 BR $COMCX
12012
12013 $COMNAK:MOV #NAKMSG,R5 ;MESSAGE NEGATIVE ACKNOWLEDGE
12014 BR $COMCX
12015
12016 $COMCMD:CLR R5 ;MESSAGE COMMAND
12017
12018 $COMCX: MOV #3,R4 ;RETRY 3 TIMES
12019
12020 1$: TST R5
12021 BNE 2$
12022
12023 COMSND ;COMMAND SEND
12024 BR 3$
12025
12026 2$: MOV R5,R0
12027 COMCTL ;CONTROL SEQUENCE SEND
12028
12029 3$: COMLIN ;GET REPLY
12030 BCS 5$ ;ERROR
12031 BPL 7$ ;CONTROL SEQUENCE
12032
12033 MOV #136,R3 ;NORMAL MESSAGE
12034 BIT #1,MSGNBR ;ODD OR EVEN MESSAGE NUMBER
12035 BEQ 4$
12036 MOV #041,R3
12037 4$: CMP R3,COMNBR ;CORRECT MESSAGE NUMBER ?
12038 BNE $$CMACK ;NO, MUST BE REPEAT
12039 CLR R0
12040 41$: EXIT ;NEW MESSAGE READY FOR PROCESS
12041
12042 5$: DEC R4 ;EXCEEDED RETRY LIMIT ?
12043 BNE 6$ ;NO, TRY AGAIN
12044 JMP $COMERR ;YES, REPORT ERROR & ABORT
12045
12046 6$: TST R5
12047 BNE 61$ ;CONTROL REPEAT
12048 CMP #-5,R0 ;RECIEVED CHECKSUM ERROR ?
12049 BEQ 61$ ;YES, SEND NAK
12050 COMRTRY ;COMMAND RETRY
12051 BR 3$
12052
12053 61$: MOV #NAKMSG,R5
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 347
APT11 PALII[KL,SYS] Page 5.1 COMMUNICATIONS ROUTINES
12054 BR 2$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 348
APT11 PALII[KL,SYS] Page 6 COMMUNICATIONS ROUTINES
12055 7$: TTICHR ;GET CONTROL SEQUENCE CHARACTER
12056 CMPB #'A,R0
12057 BEQ 41$ ;A, ACKNOWLEDGE
12058 CMPB #'Z,R0
12059 BEQ 8$ ;Z, END OF TRANSMISSION
12060 CMPB #'N,R0
12061 BNE 71$
12062 MOV #-7,R0 ;N, NEGATIVE ACKNOWLEDGE
12063 BR 5$
12064
12065 71$: MOV #-10,R0 ;UNKNOWN RESPONSE
12066 BR 5$
12067
12068 8$: EXITERR ;END OF FILE
12069
12070 $COMERR:PUSH R0
12071 PMSG <?COMM ERR >
12072 POP R0
12073 NEG R0
12074 MOV R0,R1
12075 PNTOCS
12076 PNTCI
12077 ",
12078 DEC R1
12079 SL R1,1
12080 MOV CMERTB(R1),R0
12081 PNTAL
12082 JMP $CNTLC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 349
APT11 PALII[KL,SYS] Page 7 COMMUNICATIONS ROUTINES
12083 CMERTB: CMER1
12084 CMER2
12085 CMER3
12086 CMER4
12087 CMER5
12088 CMER6
12089 CMER7
12090 CMER10
12091
12092 CMER1: .ASCIZ %NO RESPONSE%
12093 CMER2: .ASCIZ %LONG LINE%
12094 CMER3: .ASCIZ %MSG NBR%
12095 CMER4: .ASCIZ %NO CR%
12096 CMER5: .ASCIZ %MSG CKSUM%
12097 CMER6: .ASCIZ %FORMAT%
12098 CMER7: .ASCIZ %NAK%
12099 CMER10: .ASCIZ %UNKNOWN%
12100 .EVEN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 350
APT11 PALII[KL,SYS] Page 8 COMMUNICATIONS ROUTINES
12101 $COMSND:MOV #COUTBF,R5
12102 CLR R3
12103
12104 1$: CMPB (R0),#CR ;REACHED CR YET ?
12105 BEQ 2$ ;YES
12106 CMPB (R0),#ALTMOD ;OR ALTMODE ?
12107 BEQ 12$ ;YES, SUBSTITUTE CR
12108
12109 TSTB (R0) ;REACHED NULL BYTE ?
12110 BNE 11$
12111 MOV #-6,R0 ;YES, INCORRECT MESSAGE FORMAT
12112 BR $COMERR
12113
12114 11$: MOVB (R0),R2
12115 ADD R2,R3 ;ACCUMULATE CHECKSUM
12116 MOVB (R0)+,(R5)+ ;TRANSFER MSG TO OUTPUT BUFFER
12117 BR 1$
12118
12119 12$: MOV #ALTMOD,(R5)+
12120 BR 22$
12121 2$: MOVB (R0)+,(R5)+ ;PUT CR IN OUTPUT
12122 22$: CLRB (R5) ;FOLLOW WITH NULL
12123
12124 MOV #COUTBF-4,R5 ;SETUP MESSAGE START
12125 MOVB #136,(R5)
12126 BIT #1,MSGNBR ;SET UP MESSAGE NUMBER CHAR
12127 BEQ 21$
12128 MOVB #041,(R5)
12129 21$: INC R5
12130
12131 NEG R3 ;NEGATE CHECKSUM
12132
12133 MOV R3,R0
12134 SWAB R0
12135 BIC #177400,R0
12136 SHIFTR
12137 4
12138 JSR PC,COMASC
12139 MOVB R0,(R5)+ ;INSERT 1ST CHECK CHAR
12140
12141 MOV R3,R0
12142 SHIFTR
12143 6
12144 JSR PC,COMASC
12145 MOVB R0,(R5)+ ;INSERT 2ND CHECK CHAR
12146
12147 MOV R3,R0
12148 JSR PC,COMASC
12149 MOVB R0,(R5)+ ;INSERT 3RD CHECK CHAR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 351
APT11 PALII[KL,SYS] Page 9 COMMUNICATIONS ROUTINES
12150 $CMRTRY:MOV #COUTBF-4,R0 ;SETUP MESSAGE POINTER
12151
12152 $COMCTL:TSTB @$CMTKS ;ANY OLD CHARS ?
12153 BPL 1$
12154 MOVB @$CMTKB,$TTYIN ;YES, GET GET OF IT
12155 BR $COMCTL
12156
12157 1$: TSTB @$CMTPS ;WAIT TILL OUTPUT IS READY
12158 BPL $COMCTL
12159
12160 MOV #2,R1 ;SEND 2 SYNC CHARACTERS
12161 2$: MOVB #SYN,@$CMTPB
12162 3$: TSTB @$CMTPS
12163 BPL 3$
12164 DEC R1
12165 BNE 2$
12166
12167 4$: MOVB (R0)+,R1 ;GET MESSAGE CHAR
12168 BEQ 6$ ;IF NULL, DONE
12169
12170 MOVB R1,@$CMTPB ;SEND CHAR
12171 5$: TSTB @$CMTPS ;WAIT TILL OUTPUT READY
12172 BPL 5$
12173 BR 4$ ;SEND TILL NULL
12174
12175 6$: EXIT ;COMPLETED
12176
12177 COMASC: BIC #177700,R0 ;KEEP 6 BITS
12178 CMP R0,#74 ;LEAVE 75,76,77 ALONE
12179 BGT 1$
12180 BIS #100,R0 ;SET BIT 7 FOR ASCIIZE
12181 1$: RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 352
APT11 PALII[KL,SYS] Page 10 COMMUNICATIONS ROUTINES
12182 $COMLIN:MOV #CINBF-4,R1 ;START BUFFER ADDRESS
12183 CLR $TTYTIM ;CLEAR TIMEOUT
12184 CLR R5 ;CLEAR IN SYNC FLAG
12185
12186 1$: JSR PC,C10COP ;PERFORM CLOCK OPERATIONS
12187 CMP $TTYTIM,#<20.*60.> ;20 SECS
12188 BGT 90$ ;TIMED OUT
12189
12190 TSTB @$CMTKS ;COMM IN FLAG SET ?
12191 BMI 2$ ;YES
12192
12193 JSR PC,$PTTYC ;ANY OPERATOR INTERRUPT ?
12194 BR 1$ ;NO
12195
12196 2$: MOVB @$CMTKB,(R1) ;MOVE CHAR TO BUFFER
12197 BICB #200,(R1)
12198 TSTB (R1)
12199 BEQ 1$ ;IGNORE NULLS
12200
12201 CMPB (R1),#SYN ;SYNC CHAR ?
12202 BEQ 21$ ;YES
12203
12204 TST R5 ;RECIEVED SYNC YET ?
12205 BEQ 1$ ;NO, DUMP GARBAGE CHARS
12206
12207 CMPB (R1),#ALTMOD
12208 BEQ 3$ ;ALTMODE, CONTROL SEQUENCE
12209
12210 CMPB (R1),#'$ ;DOLLAR, PDP-10 SENDS THIS FOR ALTMODE
12211 BNE 22$
12212 CMP R1,#CINBF ;LEGAL ONLY IF IN CONTROL SEQUENCE
12213 BLT 3$
12214
12215 22$: CMPB (R1),#LF
12216 BEQ 4$ ;LF, MESSAGE SEGMENT
12217
12218 INC R1
12219 CMP R1,#CINBF+140.
12220 BLE 1$ ;STILL ROOM
12221 BR 91$ ;NO, LINE TOO LONG
12222
12223 21$: MOV #-1,R5 ;SYNC, SET IN SYNC FLAG
12224 BR 1$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 353
APT11 PALII[KL,SYS] Page 11 COMMUNICATIONS ROUTINES
12225 3$: INC R1 ;NULL TO END BUFFER
12226 CLRB (R1)
12227 MOV R1,$INPTR ;SETUP INPUT POINTERS
12228 MOV #CINBF-4,$INPTC
12229 EXIT ;CONTROL SEQUENCE RETURN
12230
12231 4$: INC R1
12232 CLRB (R1)
12233 MOV R1,$INPTR ;SETUP INPUT POINTERS
12234 MOV #CINBF-4,R1
12235 CMPB #041,(R1)
12236 BEQ 41$
12237 CMPB #136,(R1)
12238 BEQ 41$
12239 BR 92$ ;MESSAGE NUMBER INCORRECT
12240
12241 41$: MOVB (R1)+,COMNBR ;SAVE MESSAGE NUMBER
12242 CLR R0 ;SETUP FOR MESSAGE CHECKSUM
12243 MOV #3,R5 ;CHARS 2,3,4 ARE CHECKSUM
12244
12245 42$: SL R0,6
12246 MOVB (R1)+,R4 ;GET 1ST CHECK CHAR
12247 BIC #100,R4 ;CLEAR ASCIIZE BIT
12248 BIS R4,R0 ;INSERT IN 16 BIT CHECKSUM
12249 DEC R5
12250 BGT 42$ ;DO 3 CHARS
12251
12252 43$: CMPB (R1),#CR ;REACHED EOL ?
12253 BEQ 44$ ;YES
12254 TSTB (R1) ;PAST EOL WITHOUT CR ?
12255 BEQ 93$ ;YES, NO CR ERROR
12256
12257 MOVB (R1)+,R3
12258 ADD R3,R0 ;ACCUMULATE CHECKSUM
12259 BR 43$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 354
APT11 PALII[KL,SYS] Page 12 COMMUNICATIONS ROUTINES
12260 44$: TST R0 ;DID CHECKSUM COMPUTE TO 0 ?
12261 BNE 94$ ;NO, CHECKSUM ERROR
12262
12263 MOV #CINBF,$INPTC ;MESSAGE SEGMENT OK
12264 BIS #NBIT,14(SP) ;SET NORMAL MESSAGE INDICATOR
12265 EXIT
12266
12267 90$: MOV #-1,R0 ;NO RESPONSE ERROR
12268 BR 99$
12269
12270 91$: MOV #-2,R0 ;LINE TOO LONG ERROR
12271 BR 99$
12272
12273 92$: CMPB #'?,(R1) ;IS MESSAGE NUMBER QUESTION MARK ?
12274 BEQ COMQ ;YES, HOST ERROR
12275 MOV #-3,R0 ;MESSAGE NUMBER CHAR ERROR
12276 BR 99$
12277
12278 93$: MOV #-4,R0 ;NO CARRIAGE RETURN ERROR
12279 BR 99$
12280
12281 94$: MOV #-5,R0 ;MESSAGE CHECKSUM ERROR
12282
12283 99$: EXITERR ;ERROR EXIT, C-BIT SET, CODE IN R0
12284
12285 COMQ: $PMSG ;PRINT ERROR REPLY
12286 CINBF-4
12287 JMP $CNTLC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 355
APT11 PALII[KL,SYS] Page 13 COMMUNICATIONS ROUTINES
12288 $COMENQ:COMCLR ;CLEAR COMMUNICATIONS
12289 SETFLG
12290 ENQFLG ;SET APT10 IN PROGRESS
12291 MOV #3,R4
12292 10$: CLR MSGNBR ;INITIALIZE MESSAGE NUMBER
12293 MOV #ENQMSG,R0
12294 COMCTL ;SEND "ENQ" MESSAGE
12295
12296 COMLIN ;WAIT FOR REPLY
12297 BCS 1$ ;ERROR, CODE IN R0
12298 BMI 3$ ;NORMAL MESSAGE REPLY ?
12299 TTICHR
12300 CMPB #'A,R0 ;A, ACKNOWLEDGE
12301 BNE 1$
12302 EXIT ;ACKED, GO AHEAD
12303
12304 1$: TST R0 ;IS REPLY CODE NEGATIVE ?
12305 BMI 4$ ;YES, COMLIN ERROR
12306
12307 CMPB #'Z,R0 ;IS REPLY EOT, WAIT ?
12308 BNE 3$ ;NO
12309
12310 CLR $TTYTIM ;YES, WAIT 10 SECONDS
12311 2$: JSR PC,$PTTYC
12312 JSR PC,C10COP
12313 CMP $TTYTIM,#<10.*60.>
12314 BLE 2$
12315 BR $COMENQ ;THEN TRY AGAIN
12316
12317 3$: PMSG <?APT10 ENQ>
12318 JMP $CNTLC
12319
12320 4$: DEC R4
12321 BNE 10$ ;RETRY
12322 JMP $COMERR ;COMMUNICATIONS ERROR
12323
12324 $COMEOT:MOV #EOTMSG,R0
12325 COMCTL
12326 EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 356
APT11 PALII[KL,SYS] Page 14 COMMUNICATIONS ROUTINES
12327 $COMCLR:CLR ENQFLG
12328 MOV #CANMSG,R0
12329 COMCTL
12330 MOV #100000,R1
12331 1$: TSTB @$CMTKS ;ANY INPUT IN PROGRESS ?
12332 BPL 2$
12333 MOVB @$CMTKB,R0 ;IF SO, GET RID OF IT
12334 BR 1$
12335 2$: DEC R1
12336 BNE 1$ ;A LITTLE DELAY
12337 EXIT
12338
12339 ENQMSG: .BYTE 'E,33,0
12340 ACKMSG: .BYTE 'A,33,0
12341 NAKMSG: .BYTE 'N,33,0
12342 CANMSG: .BYTE 'C,33,0
12343 EOTMSG: .BYTE 'Z,33,0
12344
12345 .EVEN
12346
12347 .ENDC ;.IF DF MONASB
12348
12349 140560 012700 150500 IFILEP: MOV #$INBUF,R0 ;SETUP POINTERS
12350 .IF DF MONASB
12351 TST DEVTYP
12352 BPL 10$
12353 MOV #CINBF,R0
12354 .ENDC
12355 140564 013701 147622 10$: MOV IFINP,R1
12356 140570 112021 1$: MOVB (R0)+,(R1)+ ;TRANSFER CHARS TO STORAGE
12357 140572 001376 BNE 1$ ;TILL NULL
12358 140574 105011 CLRB (R1) ;THEN STORE 2ND NULL
12359 140576 010137 147622 MOV R1,IFINP ;RESAVE POINTER
12360 140602 020127 012600 CMP R1,#TOUTBF+10000-200
12361 140606 003402 BLE 2$ ;EXCEEDED BUFFER ROOM ?
12362 140610 000137 131762 JMP $LINERR ;YES
12363 140614 000137 140312 2$: JMP ACTLD2 ;REPEAT TILL EOF
12364
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 357
KLDCP PAL[KL,SYS] Page 5.9 COMMUNICATIONS ROUTINES
12365
12366 ;PDP-11 Core Dump to A11 file
12367 ;.INSRT CDMP11.PAL
12368
12369 ;KL10 diagnostic functions
12370 .INSRT BR11.PAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 358
BR11 PALII[KL,SYS] Page 1 COMMUNICATIONS ROUTINES
12371 COMMENT ⊗ VALID 00025 PAGES
12372 C REC PAGE DESCRIPTION
12373 C00001 00001
12374 C00003 00002 .SBTTL DTE20 INITIALIZATION ROUTINE, 9-SEPTEMBER-75
12375 C00005 00003 .SBTTL ROUTINE TO READ THE EBUS VIA THE DTE20
12376 C00007 00004 .SBTTL ROUTINE TO EXECUTE DIAG FUNCTION VIA DTE20
12377 C00009 00005 DIAGNOSTIC FUNCTION EXECUTE, FAST
12378 C00011 00006 .SBTTL ROUTINE TO WRITE 36 BITS TO THE EBUS
12379 C00014 00007 .SBTTL ROUTINE TO DO EBUS READ, THEN STORE DATA SOMEPLACE
12380 C00016 00008 .SBTTL MASTER RESET ROUTINE
12381 C00021 00009 .SBTTL CONTROL RAM ADDRESS ROUTINE
12382 C00023 00010 .SBTTL WCRAM ROUTINE
12383 C00026 00011 $STRCH: MOV WREADY,R0 GET UNSPACED DATA
12384 C00028 00012 .SBTTL RCRAM ROUTINE
12385 C00031 00013 15$: MOVB WREADY+1,-(R3) ENDING UP
12386 C00033 00014 $SQASH: MOV WREADY,R1 GET STRETCHED BITS 8-19
12387 C00035 00015 .SBTTL MICNUL & MICFIL C-RAM ROUTINES
12388 C00036 00016 MICFIL, C-RAM FILL WITH ONES ROUTINE
12389 C00037 00017 .SBTTL WDRAM ROUTINE
12390 C00038 00018 .SBTTL RDRAM ROUTINE
12391 C00040 00019 $DRAMAD: MOV #DDRAM,R3 GET ADDRESS OF EBUS DATA
12392 C00042 00020 WRITE THE IR
12393 C00044 00021 .SBTTL M-BOX CLOCK BURST ROUTINE
12394 C00046 00022 .SBTTL LOAD AR ROUTINE
12395 C00049 00023 .SBTTL MBOX PHASE ROUTINE
12396 C00052 00024 .SBTTL VMA, VMAH, PC & ADDRESS BREAK ROUTINE
12397 C00054 00025 MOV #WREADY+5,R1 NOW MOVE READ DATA
12398 C00056 ENDMK
12399 C⊗;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 359
BR11 PALII[KL,SYS] Page 2 DTE20 INITIALIZATION ROUTINE, 9-SEPTEMBER-75
12400 .SBTTL DTE20 INITIALIZATION ROUTINE, 9-SEPTEMBER-75
12401
12402 140620 005737 157316 DTEINI: TST $ONETM ;HAVE WE GONE THRU THIS ONCE BEFORE ?
12403 140624 001013 BNE 3$ ;BR IF YES
12404 140626 012700 174400 MOV #DTEADR,R0
12405
12406 140632 012702 000020 11$: MOV #16.,R2
12407 140636 012701 157320 MOV #.DELAY,R1
12408 140642 010021 1$: MOV R0,(R1)+ ;SETUP DTE20 INDIRECT ADDRESS POINTERS
12409 140644 005200 INC R0
12410 140646 005200 INC R0
12411 140650 005302 DEC R2
12412 140652 001373 BNE 1$
12413 140654 104055 3$: SETFLG
12414 140656 157316 $ONETM
12415
12416 140660 012700 140730 MOV #$STJRS,R0 ;SETUP "JRST" START INSTRUCTION
12417 140664 012701 157222 MOV #$$STJRS,R1 ;MUST BE IN STORAGE BECAUSE
12418 140670 012021 MOV (R0)+,(R1)+ ;THE JRST ADR IS VARIABLE
12419 140672 012021 MOV (R0)+,(R1)+
12420 140674 012021 MOV (R0)+,(R1)+
12421
12422 140676 012700 140722 MOV #$PAGDFL,R0 ;SETUP "DATAO PAG,0" DEFAULT ARGUMENT
12423 140702 012701 157254 MOV #PAGDFL,R1 ;MUST BE IN STORAGE BECAUSE THE CURRENT
12424 140706 012021 MOV (R0)+,(R1)+ ;AC BLOCK SELECTION IS VARIABLE
12425 140710 012021 MOV (R0)+,(R1)+
12426 140712 012021 MOV (R0)+,(R1)+
12427
12428 140714 005000 CLR R0
12429 140716 104147 SETMPH ;SET M-BOX PHASE
12430 140720 000207 RTS PC
12431
12432 $PAGDFL:WD36 7000,0040,0000 ;LD'S & NO ST ACC
12433 140730 .EVEN
12434
12435 $STJRS: I10 JRST,0,,0
12436 000000 ADH=0
12437 000000 ADL=0
12438 .IF NB 0
12439 .IRPC AD1,0
12440 .IIF GE <ADL-10000>,ADH=ADL/10000
12441 ADL=10*<ADL&7777>+AD1
12442 .ENDM
12443 770000 .IIF GE <ADL-10000>,ADH=ADL/10000
12444 000000 ADL=10*<ADL&7777>+0
12445 .ENDC
12446 .IIF B 0,AC=0
12447 000000 .IIF NB 0,AC=0
12448 000000 .IIF B ,I=0
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 360
BR11 PALII[KL,SYS] Page 2.1 DTE20 INITIALIZATION ROUTINE, 9-SEPTEMBER-75
12449 .IIF NB ,I=
12450 000000 .IIF B ,XR=0
12451 .IIF NB ,XR=
12452 140736 .EVEN
12453
12454 140736 013700 157320 $DTEBAS:MOV .DELAY,R0
12455 EXIT
12456 140742 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 361
BR11 PALII[KL,SYS] Page 3 ROUTINE TO READ THE EBUS VIA THE DTE20
12457 .SBTTL ROUTINE TO READ THE EBUS VIA THE DTE20
12458
12459 ;THIS IS THE ROUTINE TO READ 36 BITS FROM THE EBUS
12460 ;THE CALL REQUIRES THE DIAGNOSTIC FUNCTION TO BE EXECUTED
12461 ;TO BE IN REGISTER R0,RIGHT JUSTIFIED.
12462 ;CALLING SEQUENCE:
12463 ; CALL-1: MOV #DIAG FUNCTION,R0
12464 ; CALL: DFRD
12465
12466 140746 017700 006662 $DFRDT: MOV @$EMADR,R0 ;PICKUP TRAILING PARAMETER
12467 140752 062766 000002 000012 ADD #2,12(SP) ;SKIP RETURN
12468
12469 140760 004737 141266 $DFRD: JSR PC,$KLCK1 ;CHECK KL10 CLOCK RUNNING
12470 140764 006300 ASL R0 ;MAKE DIAG FCN IN CORRECT BITS
12471 140766 000300 SWAB R0 ;MAKE DIAG FCN IN CORRECT BYTE
12472 140770 052700 000211 BIS #DCOMST!DFUNC!DIKL10,R0 ;SET CORRECT DTE20 BITS
12473 140774 010077 016350 MOV R0,@.DIAG1 ;EXECUTE THE FUNCTION
12474 $DFXX: WFZERO DCOMST ;WAIT FOR DONE FLAG
12475 141000 012746 004704 MOV #2500.,-(SP) ;SET TIMEOUT CNT
12476 141004 032777 000001 016336 91$: BIT #DCOMST,@.DIAG1 ;TEST BIT
12477 141012 001407 BEQ 92$ ;LEAVE IF BIT ZERO(OK)
12478 141014 005316 DEC (SP) ;DECREMENT CNT
12479 141016 001372 BNE 91$ ;CONTINUE LOOP
12480 141020 005737 147732 TST RPTFLG ;OTHERWISE TIME OUT
12481 141024 001002 BNE 92$
12482 141026 004137 141044 JSR R1,$DFTIM
12483 141032 005726 92$: TST (SP)+ ;RESET STACK & CONTINUE
12484 141034 004737 141340 JSR PC,$KLCK2 ;RESTART CLOCK IF NECESSARY
12485 EXIT
12486 141040 000137 124064 JMP $EXIT
12487
12488 141044 005037 147670 $DFTIM: CLR TENRUN
12489 PMSG <?DF TIMEOUT AT >
12490 141050 104025 $PMSG
12491 141052 147242 $$CLIT
12492 141054 010100 MOV R1,R0
12493 141056 104035 PNTOCT
12494 PMSG <PC = >
12495 141060 104025 $PMSG
12496 141062 147262 $$CLIT
12497 141064 016600 000016 MOV 16(SP),R0 ;GET ADDRESS OF CALL
12498 141070 005740 $DFTMX: TST -(R0)
12499 141072 104035 PNTOCT
12500 141074 000137 100004 JMP $CNTLC
12501
12502 $ECTIM: PMSG <?CLK>
12503 141100 104025 $PMSG
12504 141102 147270 $$CLIT
12505
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 362
BR11 PALII[KL,SYS] Page 3.1 ROUTINE TO READ THE EBUS VIA THE DTE20
12506 $DFTM1: PMSG < ERR AT >
12507 141104 104025 $PMSG
12508 141106 147275 $$CLIT
12509 141110 010100 MOV R1,R0
12510 141112 000766 BR $DFTMX
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 363
BR11 PALII[KL,SYS] Page 4 ROUTINE TO EXECUTE DIAG FUNCTION VIA DTE20
12511 .SBTTL ROUTINE TO EXECUTE DIAG FUNCTION VIA DTE20
12512
12513 ;THIS IS THE ROUTINE TO EXECUTE A NON-DATA
12514 ;DIAGNOSTIC FUNCTION. THE CALL REQUIRES THE
12515 ;DIAGNOSTIC FUNCTION TO BE EXECUTED TO BE IN
12516 ;REGISTER R0,RIGHT JUSTIFIED
12517
12518 ;CALLING SEQUENCE:
12519 ; CALL-1: MOV #DIAG FUNCTION,R0
12520 ; CALL: DFXCT
12521
12522 ;DIAGNOSTIC FUNCTION EXECUTE, TRAILING PARAMETER
12523
12524 141114 017700 006514 $DXCTT: MOV @$EMADR,R0 ;PICKUP TRAILING PARAMETER
12525 141120 062766 000002 000012 ADD #2,12(SP) ;SKIP RETURN
12526 141126 000406 BR $DFXCT
12527
12528 ;DIAGNOSTIC FUNCTION EXECUTE, SINGLE STEP KL10 CLOCK
12529
12530 141130 005037 147454 $DFSCLK:CLR KLCLKR ;CLEAR KL10 CLOCK RUNNING
12531 141134 012777 002201 016206 MOV #DCOMST!DFUNC!<SSCLK*1000>,@.DIAG1
12532 141142 000422 BR $$DFX1
12533
12534 ;DIAGNOSTIC FUNCTION EXECUTE
12535
12536 141144 020027 000001 $DFXCT: CMP R0,#001 ;KL10 CLOCK START FUNCTION ?
12537 141150 001406 BEQ 1$ ;YES
12538 141152 020027 000007 CMP R0,#007 ;ANY OTHER CLOCK CONTROL FUNCTION ?
12539 141156 003006 BGT 2$ ;NO
12540 141160 005037 147454 CLR KLCLKR ;YES, CLEAR LOGICAL CLOCK RUN FLAG
12541 141164 000403 BR 2$
12542 141166 012737 777777 147454 1$: MOV #-1,KLCLKR ;CLOCK START, SET LOGICAL CLOCK RUN FLAG
12543 141174 006300 2$: ASL R0 ;MAKE DIAG FCN IN CORRECT BITS
12544 141176 000300 SWAB R0 ;MAKE DIAG FCN IN CORRECT BYTE
12545 141200 052700 000201 BIS #DCOMST!DFUNC,R0 ;SET CORRECT DTE20 BITS
12546 141204 010077 016140 MOV R0,@.DIAG1 ;EXECUTE THE FUNCTION
12547 $$DFX1: WFZERO DCOMST ;WAIT FOR DONE
12548 141210 012746 004704 MOV #2500.,-(SP) ;SET TIMEOUT CNT
12549 141214 032777 000001 016126 91$: BIT #DCOMST,@.DIAG1 ;TEST BIT
12550 141222 001407 BEQ 92$ ;LEAVE IF BIT ZERO(OK)
12551 141224 005316 DEC (SP) ;DECREMENT CNT
12552 141226 001372 BNE 91$ ;CONTINUE LOOP
12553 141230 005737 147732 TST RPTFLG ;OTHERWISE TIME OUT
12554 141234 001002 BNE 92$
12555 141236 004137 141044 JSR R1,$DFTIM
12556 141242 005726 92$: TST (SP)+ ;RESET STACK & CONTINUE
12557 EXIT ;RETURN
12558 141244 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 364
BR11 PALII[KL,SYS] Page 5 ROUTINE TO EXECUTE DIAG FUNCTION VIA DTE20
12559 ;DIAGNOSTIC FUNCTION EXECUTE, FAST
12560
12561 141250 006300 $DFXFST:ASL R0 ;DIAG FUNCTION TO CORRECT BITS
12562 141252 000300 SWAB R0
12563 141254 052700 000201 BIS #DCOMST!DFUNC,R0
12564 141260 010077 016064 MOV R0,@.DIAG1 ;EXECUTE THE FUNCTION
12565 141264 000406 BR $$DFXDN
12566
12567 ;KL10 CLOCK RUNNING CONTROLS
12568
12569 141266 005737 147454 $KLCK1: TST KLCLKR ;KL10 CLOCK RUNNING ?
12570 141272 001421 BEQ $KLCK4 ;NO
12571 141274 012777 000201 016046 MOV #DCOMST!DFUNC!<STPCLK*1000>,@.DIAG1
12572 $$DFXDN:
12573 $KLCK3: WFZERO DCOMST
12574 141302 012746 004704 MOV #2500.,-(SP) ;SET TIMEOUT CNT
12575 141306 032777 000001 016034 91$: BIT #DCOMST,@.DIAG1 ;TEST BIT
12576 141314 001407 BEQ 92$ ;LEAVE IF BIT ZERO(OK)
12577 141316 005316 DEC (SP) ;DECREMENT CNT
12578 141320 001372 BNE 91$ ;CONTINUE LOOP
12579 141322 005737 147732 TST RPTFLG ;OTHERWISE TIME OUT
12580 141326 001002 BNE 92$
12581 141330 004137 141044 JSR R1,$DFTIM
12582 141334 005726 92$: TST (SP)+ ;RESET STACK & CONTINUE
12583 141336 000207 $KLCK4: RTS PC
12584
12585 141340 005737 147454 $KLCK2: TST KLCLKR ;WAS CLOCK RUNNING ?
12586 141344 001774 BEQ $KLCK4 ;NO
12587 141346 012777 001201 015774 MOV #DCOMST!DFUNC!<STRCLK*1000>,@.DIAG1
12588 141354 000752 BR $KLCK3
12589
12590 141356 010000 FFDEP: DEP ;DTE20 DEPOSIT/EXAM BIT
12591
12592 ;DIAGNOSTIC FUNCTION, WRITE IR
12593
12594 141360 104120 $DFWIR: DFWRT ;THE LOAD AR FUNCTION IS ALREADY SETUP
12595 141362 012777 014201 015760 MOV #DCOMST!DFUNC!<IRLOAD*1000>,@.DIAG1
12596 141370 004737 141302 JSR PC,$$DFXDN ;STROBE DATA FROM AD TO IR
12597 EXIT
12598 141374 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 365
BR11 PALII[KL,SYS] Page 6 ROUTINE TO WRITE 36 BITS TO THE EBUS
12599 .SBTTL ROUTINE TO WRITE 36 BITS TO THE EBUS
12600
12601 ;THIS IS THE ROUTINE TO WRITE 36 BITS TO THE EBUS
12602 ;THE ROUTINE REQUIRES THAT THE ADDRESS OF THE DATA
12603 ;TO BE WRITTEN IS IN REGISTER R1. THE DIAGNOSTIC
12604 ;FUNCTION WHICH DOES THE WRITE MUST BE RIGHT
12605 ;JUSTIFIED IN REGISTER R0.THE DATA TO BE WRITTEN MUST
12606 ;BE IN 5 CONSECUTIVE BYTES AS FOLLOWS:
12607 ; .BYTE EBUS BITS 28-35
12608 ; .BYTE EBUS BITS 20-27
12609 ; .BYTE EBUS BITS 12-19
12610 ; .BYTE EBUS BITS 04-11
12611 ; .BYTE EBUS BITS 00-03
12612
12613 ;CALLING SEQUENCE:
12614 ; CALL-2: MOV #ADDR,R1
12615 ; CALL-1: MOV #DIAG FCN,R0
12616 ; CALL: DFWRT
12617
12618 141400 004737 141266 $DFWRT: JSR PC,$KLCK1 ;KL10 CLOCK RUNNING ?
12619 PUSH R1 ;SAVE DESTINATION FOR POSTERITY
12620 141406 032701 000001 BIT #1,R1 ;DATA ON WORD BOUNDRY ?
12621 141412 001457 BEQ 2$ ;YES
12622 141414 012705 147546 MOV #XXDAT,R5
12623 141420 112125 MOVB (R1)+,(R5)+ ;PUT BITS 28-35 INTO CORE WORD
12624 141422 112125 MOVB (R1)+,(R5)+ ;PUT BITS 20-27 INTO CORE
12625 141424 014577 015672 MOV -(R5),@.DAT3 ;PUT BITS 20-35 INTO DTE20
12626 141430 112125 MOVB (R1)+,(R5)+ ;PUT BITS 12-19 INTO CORE WORD
12627 141432 112125 MOVB (R1)+,(R5)+ ;PUT BITS 4-11 INTO CORE WORD
12628 141434 014577 015664 MOV -(R5),@.DAT2 ;PUT BITS 4-19 INTO DTE20
12629 141440 112115 MOVB (R1)+,(R5) ;PUT BITS 0-3 INTO CORE WORD
12630 141442 042715 177760 BIC #177760,(R5) ;OFF TRASH
12631 141446 011577 015654 MOV (R5),@.DAT1 ;BITS 0-3 INTO DTE20
12632 141452 012777 000014 015670 1$: MOV #DIKL10!DSEND,@.DIAG1 ;SET BIT TO DIAGNOSE KL10
12633 141460 013777 141356 015642 MOV FFDEP,@.TENA1 ;SET DEPOSIT BIT OF DTE20
12634 141466 013777 141356 015636 MOV FFDEP,@.TENA2 ;DO A PSEUDO DEPOSIT
12635 WFONE DEXDON ;WAIT FOR A FLAG
12636 141474 012746 004704 MOV #2500.,-(SP) ;SET TIMEOUT CNT
12637 141500 032777 000004 015646 93$: BIT #DEXDON,@.STDTE ;TEST BIT
12638 141506 001007 BNE 94$ ;LEAVE IF NOW A ONE(OK)
12639 141510 005316 DEC (SP) ;DECREMENT CNT
12640 141512 001372 BNE 93$ ;CONTINUE LOOP
12641 141514 005737 147732 TST RPTFLG ;OTHERWISE TIME OUT
12642 141520 001002 BNE 94$
12643 141522 004137 141044 JSR R1,$DFTIM
12644 141526 005726 94$: TST (SP)+ ;RESET STACK
12645 141530 006300 ASL R0 ;GET DIAG FCN IN BIT POSITION
12646 141532 000300 SWAB R0 ;GET DIAG FCN IN BYTE POSITION
12647 141534 052700 000215 BIS #DCOMST!DSEND!DIKL10!DFUNC,R0 ;SET DTE20 BITS
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 366
BR11 PALII[KL,SYS] Page 6.1 ROUTINE TO WRITE 36 BITS TO THE EBUS
12648 141540 010077 015604 MOV R0,@.DIAG1 ;EXECUTE THE DIAGNOSTIC FUNCTION
12649 POP R0 ;RESTORE WHERE GOT DATA
12650 141546 000137 141000 JMP $DFXX ;WAIT FOR DONE & EXIT
12651
12652 141552 012177 015544 2$: MOV (R1)+,@.DAT3 ;BITS 20-35
12653 141556 012177 015542 MOV (R1)+,@.DAT2 ;BITS 4-19
12654 141562 011177 015540 MOV (R1),@.DAT1 ;BITS 0-3
12655 141566 000731 BR 1$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 367
BR11 PALII[KL,SYS] Page 7 ROUTINE TO DO EBUS READ, THEN STORE DATA SOMEPLACE
12656 .SBTTL ROUTINE TO DO EBUS READ, THEN STORE DATA SOMEPLACE
12657
12658 ;ENTER THIS ROUTINE WITH R0 CONTAINING DIAGNOSTIC FUNCTION TO EXECUTE
12659 ;AND R1 CONTAINING ADDRESS OF BUFFER WHERE DATA SHOULD BE PLACED
12660
12661 141570 104116 $DFRDMV:DFRD ;GO READ KL10 DATA
12662 PUSH R1 ;SAVE DESTINATION
12663 141574 013700 157322 MOV .DAT3,R0 ;GET ADDRESS OF DTE20 REG
12664 141600 112021 MOVB (R0)+,(R1)+ ;DATA FROM DTE TO CORE
12665 141602 112021 MOVB (R0)+,(R1)+ ;DATA FROM DTE TO CORE
12666 141604 112021 MOVB (R0)+,(R1)+ ;DATA FROM DTE TO CORE
12667 141606 112021 MOVB (R0)+,(R1)+ ;DATA FROM DTE TO CORE
12668 141610 112021 MOVB (R0)+,(R1)+ ;DATA FROM DTE TO CORE
12669 POP R0 ;RESTORE REG R1
12670 EXIT
12671 141614 000137 124064 JMP $EXIT
12672
12673 ;DIAGNOSTIC FUNCTION WRITE, TRAILING PARAMETER
12674
12675 141620 013705 147634 $DWRTT: MOV $EMADR,R5
12676 141624 012501 MOV (R5)+,R1 ;DATA ADDRESS TO R1
12677 141626 011500 MOV (R5),R0 ;DIAG FUNCTION TO R0
12678 141630 062766 000004 000012 ADD #4,12(SP) ;RETURN OVER TRAILING PARAMETERS
12679 141636 000660 BR $DFWRT
12680
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 368
BR11 PALII[KL,SYS] Page 8 MASTER RESET ROUTINE
12681 .SBTTL MASTER RESET ROUTINE
12682 ;MASTER RESET DIAGNOSTIC FUNCTION LIST
12683
12684 141640 000 LLIST: .BYTE STPCLK ;STOP CLOCK
12685 141641 007 .BYTE SETMR ;SET MASTER RESET
12686 141642 001 .BYTE STRCLK ;START CLOCK
12687 141643 042 .BYTE LDBRR ;LOAD BURST REGISTER RIGHT
12688 141644 043 .BYTE LDBRL ;LOAD BURST REGISTER LEFT
12689 141645 045 .BYTE LDDIS ;LOAD CLOCK DISTRIBUTION REGISTER
12690 141646 046 .BYTE LDCHK1 ;LOAD PARITY CHECK REGISTER
12691 141647 047 .BYTE LDCHK2 ;LOAD EBOX INTERNAL CHECK REGISTER
12692 141650 070 .BYTE LDCHAN ;INITIALIZE CHANNELS
12693 141651 000 .BYTE STPCLK ;STOP CLOCK
12694 000012 LLISTL==.-LLIST ;BUT THE LAST THREE ARE SPECIAL
12695 141652 067 .BYTE ENIOJA ;SET IR DECODE TO KL10 MODE
12696 141653 076 .BYTE 76 ;D.F. TO CONTROL EBUS REG
12697 141654 071 .BYTE LDMBXA ;LOAD MEMORY TO CACHE SELECTOR
12698 141656 .EVEN
12699
12700 ;THIS IS A ROUTINE TO DO A MASTER RESET.
12701
12702 $MRESET:PUSH R0 ;SAVE REGISTERS
12703 141660 005737 147670 TST TENRUN ;PDP-10 PRESENTLY RUNNING ?
12704 141664 001401 BEQ 90$ ;BR IF NOT
12705 141666 104077 TENSP ;STOP TEN
12706 141670 005037 152216 90$: CLR TENCLK ;AFTER THIS, THE 10 DOESN'T NEED CLOCK INTS
12707 141674 005037 147422 CLR SWTDEP ; OR DATA SWITCHES ...
12708 141700 005037 147666 CLR MONMODE ; ... OR MONITOR MODE (CLEAR FOR KA SIM)
12709 141704 005037 147664 CLR MTTYOF
12710 141710 005037 147660 CLR KASIM ;AND IS NO LONGER IN KASIM MODE
12711 .IF DF CLKASB
12712 141714 005037 157142 CLR TIMFLG ; ... OR TIME OF DAY
12713 141720 005037 157140 CLR TMSFLG
12714 .ENDC DF CLKASB
12715 141724 012777 000100 015420 MOV #DRESET,@.DIAG2 ;MASTER CLEAR THE DTE20
12716 .IF DF %%QMP
12717 ;For QMP11, include INTRON in new DTE status
12718 141732 012777 053141 015414 MOV #INTRON!DON10C!ERR10C!INT11C!PERCLR!DON11C!ERR11C,@.STDTE ;CLEAR DTE20 STATUS
12719 .IFF
12720 MOV #DON10C!ERR10C!INT11C!PERCLR!DON11C!ERR11C,@.STDTE ;CLEAR DTE20 STATUS
12721 .ENDC
12722 141740 104141 DFWRTT ;WRITE TO CLOCK
12723 141742 157246 CLKDFL ;SET CLOCK TO DEFAULT
12724 141744 000044 LDSEL
12725 141746 005037 147454 CLR KLCLKR ;CLEAR KL10 CLOCK RUNNING
12726 141752 012701 000012 MOV #LLISTL,R1 ;MUST EXECUTE TEN DIAG FUNCTIONS IN MR
12727 141756 012702 141640 MOV #LLIST,R2 ;ADDRESS OF FUNCTIONS INTO R2
12728 141762 112200 1$: MOVB (R2)+,R0 ;FUNCTION TO R0 FOR THE EXECUTE CALL
12729 141764 004737 141250 JSR PC,$DFXFST ;EXECUTE THE DIAGNOSTIC FUNCTION
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 369
BR11 PALII[KL,SYS] Page 8.1 MASTER RESET ROUTINE
12730 141770 005301 DEC R1 ;DECREMENT COUNT OF # OF FUNCTIONS LEFT
12731 141772 001373 BNE 1$ ;CONTINUE TILL DONE
12732
12733 141774 012704 000003 MOV #3,R4 ;SYNC MBOX NXM LOGIC
12734 142000 104140 2$: DFRDT ;TEST A CHANGE COMING L
12735 142002 000162 162
12736 142004 032777 000010 015310 BIT #BIT3,@.DAT3
12737 142012 001407 BEQ 3$ ;ASSERTED, CONTINUE
12738 142014 012777 002201 015326 MOV #DCOMST!DFUNC!<SSCLK*1000>,@.DIAG1
12739 142022 004737 141302 JSR PC,$$DFXDN ;DO ONE MBOX CLOCK
12740 142026 005304 DEC R4 ;DONE 3 CLOCKS ?
12741 142030 003363 BGT 2$ ;NO, TRY AGAIN
12742
12743 142032 012777 004201 015310 3$: MOV #DCOMST!DFUNC!<CECLK*1000>,@.DIAG1
12744 142040 004737 141302 JSR PC,$$DFXDN ;CONDITIONAL EBOX CLOCK
12745 142044 012777 006201 015276 MOV #DCOMST!DFUNC!<CLRMR*1000>,@.DIAG1
12746 142052 004737 141302 JSR PC,$$DFXDN ;CLEAR MR
12747
12748 142056 112200 MOVB (R2)+,R0
12749 142060 004737 141250 JSR PC,$DFXFST ;SET IR DECODE
12750
12751 142064 112200 MOVB (R2)+,R0 ;GET THE NEXT FUNCTION FROM THE LIST
12752 142066 012701 147532 MOV #WREADY,R1 ;CLEAR A 36 BIT BUFFER FOR SENDING DATA
12753 142072 010105 MOV R1,R5
12754 142074 005025 CLR (R5)+ ;CLEAR A WORK AREA
12755 142076 005025 CLR (R5)+
12756 142100 005015 CLR (R5)
12757 142102 104120 DFWRT ;WRITE 0'S TO EBUS & PREVENT SBUS RESET
12758 142104 112711 000012 MOVB #12,(R1)
12759 142110 112200 MOVB (R2)+,R0 ;GET NEXT DIAG FUNCTION
12760 142112 104120 DFWRT ;LOAD MEMORY TO CACHE SELECTOR
12761 POP R0
12762 EXIT
12763 142116 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 370
BR11 PALII[KL,SYS] Page 9 CONTROL RAM ADDRESS ROUTINE
12764 .SBTTL CONTROL RAM ADDRESS ROUTINE
12765
12766 $WWADR: PUSH R1 ;SAVE R1
12767 142124 005700 TST R0 ;IF BIT 15 SET, AVOID MASTER RESET
12768 142126 100407 BMI 1$
12769 142130 032700 040000 BIT #BIT14,R0 ;IF BIT 14 SET, SPECIAL RESET
12770 142134 001403 BEQ 2$
12771 142136 004737 142506 JSR PC,$SPCMR ;SPECIAL MASTER RESET
12772 142142 000401 BR 1$
12773 142144 104076 2$: MRESET
12774 142146 042700 140000 1$: BIC #BIT15!BIT14,R0 ;CLEAR CONTROL BITS ANYWAY
12775 142152 012705 147534 MOV #WREADY+2,R5
12776 142156 005015 CLR (R5) ;CLEAR A WORK AREA
12777 142160 005045 CLR -(R5)
12778
12779 PUSH R0
12780 142164 004737 142226 JSR PC,99$ ;GO LOAD EBUS BITS 00-05
12781 142170 012700 000052 MOV #LCRDAL,R0 ;WILL WRITE BITS 00-04 OF CR-ADR
12782 142174 104120 DFWRT
12783 POP R0 ;GET COPY OF ORIGINAL CR-ADR
12784 142200 000300 SWAB R0 ;GET BITS 00-04
12785 142202 006200 ASR R0 ;TO LOW ORDER BITS
12786 142204 006200 ASR R0 ;OF R0.
12787 142206 004737 142226 JSR PC,99$ ;GO LOAD EBUS BITS 00-05
12788 142212 012700 000051 MOV #LCRDAR,R0 ;WILL WRITE BITS 5-10 OF CRADR
12789 142216 104120 DFWRT
12790 POP R1 ;RESTORE R1
12791 EXIT
12792 142222 000137 124064 JMP $EXIT
12793
12794 142226 042700 000077 99$: BIC #77,R0 ;DEAL ONLY WITH 6 BITS
12795 142232 110037 147535 MOVB R0,WREADY+3 ;MOV TO EBUS BITS 4 & 5
12796 142236 000300 SWAB R0
12797 142240 110037 147536 MOVB R0,WREADY+4 ;MOV TO EBUS BITS 0,1,2, & 3
12798 142244 010501 MOV R5,R1 ;ADDRESS FOR DFWRT
12799 142246 000207 RTS PC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 371
BR11 PALII[KL,SYS] Page 10 WCRAM ROUTINE
12800 .SBTTL WCRAM ROUTINE
12801
12802 142250 057 WRLIST: .BYTE LCRAM1 ;CRAM BITS 00-19
12803 142251 056 .BYTE LCRAM2 ;CRAM BITS 20-39
12804 142252 055 .BYTE LCRAM3 ;CRAM BITS 40-59
12805 142253 054 .BYTE LCRAM4 ;CRAM BITS 60-79-EVEN
12806 142254 .EVEN
12807
12808 142254 010102 $WCRAM: MOV R1,R2 ;GET COPY OF DATA ADDRESS
12809 142256 104075 WWADR ;GO AND WRITE C-RAM ADDRESS
12810 142260 012704 000003 MOV #3,R4 ;FOUR LOOPS PER C-RAM WORD
12811
12812 142264 012701 147532 1$: MOV #WREADY,R1 ;GET HOLDING AREA
12813 142270 112221 MOVB (R2)+,(R1)+ ;REAL DATA TO HOLDING AREA
12814 142272 112221 MOVB (R2)+,(R1)+
12815 142274 111221 MOVB (R2),(R1)+
12816
12817 142276 005737 147530 TST SIGNL ;SEE IF DESIRED BITS ON WORD BOUNDARY
12818 142302 001412 BEQ 3$ ;AVOID RORING CODE IF YES
12819
12820 ;THIS IS WONDERFUL RORING CODE
12821
12822 142304 105722 TSTB (R2)+ ;MUST INCREMENT DATA ADDR PTR
12823 142306 012700 000004 MOV #4,R0 ;FOUR SHIFTS IN THIS LOOP
12824
12825 142312 012701 147535 2$: MOV #WREADY+3,R1 ;POINT TO HOLDING AREA
12826 142316 106041 RORB -(R1) ;SHIFT & INCLUDE "C" BIT
12827 142320 106041 RORB -(R1)
12828 142322 106041 RORB -(R1)
12829 142324 005300 DEC R0 ;DONE?
12830 142326 001371 BNE 2$ ;LOOP BACK IF NO
12831
12832 ;COMMON CODE
12833
12834 142330 005137 147530 3$: COM SIGNL ;CHANGE BOUNDARY FLAG
12835 142334 042737 177760 147534 BIC #177760,WREADY+2 ;ONLY 4 BITS COUNT
12836 142342 004737 142422 4$: JSR PC,$STRCH ;GO FILL IN EBUS SPACE
12837 142346 116400 142250 MOVB WRLIST(R4),R0 ;CORRECT WRITE FUNCTION TO R0
12838 142352 012701 147532 MOV #WREADY,R1 ;ADDRESS OF DATA
12839 142356 104120 DFWRT
12840 142360 005304 DEC R4 ;DONE ENTIRE RAM WORD?
12841 142362 002340 BGE 1$ ;BR BACK IFNO
12842
12843 ;CODE TO LOAD DISP 00-04
12844
12845 142364 111237 147536 MOVB (R2),WREADY+4 ;GET DATA FOR DISP
12846 142370 106237 147536 ASRB WREADY+4 ;SHIFT DATA
12847 142374 106037 147535 RORB WREADY+3 ;TO EBUS BITS
12848 142400 106237 147536 ASRB WREADY+4 ;00-05
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 372
BR11 PALII[KL,SYS] Page 10.1 WCRAM ROUTINE
12849 142404 106037 147535 RORB WREADY+3
12850 142410 104141 DFWRTT ;WRITE
12851 142412 147532 WREADY ;DATA ADDRESS
12852 142414 000053 LCRAM5 ;DIAG FUNCTION
12853 EXIT ;DONE
12854 142416 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 373
BR11 PALII[KL,SYS] Page 11 WCRAM ROUTINE
12855 142422 013700 147532 $STRCH: MOV WREADY,R0 ;GET UNSPACED DATA
12856 142426 113737 147534 147535 MOVB WREADY+2,WREADY+3 ;PUT C-RAM 0-3 BITS INTO CORRECT CORE
12857 142434 005003 CLR R3 ;NO JUNK LEFT IN R3
12858 142436 000261 SEC ;SET "C" BIT TO USE AS FLAG
12859 142440 012705 000004 1$: MOV #4,R5 ;FOUR SHIFTS BETWEEN BLANKS
12860 142444 006003 2$: ROR R3 ;NEW DATA LEFT END OF DESTINATION
12861 142446 103407 BCS 3$ ;IF FLAG FALLS OUT..DONE
12862 142450 006000 ROR R0 ;ROTATE SOURCE BITS RIGHT
12863 142452 005305 DEC R5 ;DONE 4 YET??
12864 142454 002373 BGE 2$ ;BR IF NO
12865
12866 142456 006100 ROL R0 ;REPAIR ANY DAMAGES
12867 142460 000241 CLC ;ZERO THE "C" BIT
12868 142462 006003 ROR R3 ;AND ROLL ZEROES
12869 142464 000765 BR 1$ ;AND CONTINUE
12870
12871 ;GET HERE TO FINISH UP
12872
12873 142466 000241 3$: CLC ;ZERO "C" BIT AGAIN
12874 142470 006100 ROL R0 ;BITS 4-7
12875 142472 006100 ROL R0 ;MUST BE CORRECTED
12876 142474 010337 147532 MOV R3,WREADY ;BITS 8-19 INTO CORE
12877 142500 110037 147534 MOVB R0,WREADY+2 ;BITS 4-7 INTO CORE
12878 142504 000207 RTS PC ;DONE
12879
12880 ;SPECIAL BASIC MASTER RESET
12881
12882 $SPCMR: PUSH <R0,R1,R2>
12883 142514 005037 147454 CLR KLCLKR ;CLEAR KL10 CLOCK RUNNING
12884 142520 012701 142554 MOV #$SMRLST,R1 ;COMMAND ADR TO R1
12885 142524 012702 000004 MOV #4,R2 ;FOUR COMMANDS
12886 142530 012177 014614 1$: MOV (R1)+,@.DIAG1
12887 142534 004737 141302 JSR PC,$$DFXDN ;EXECUTE FUNCTION
12888 142540 005302 DEC R2
12889 142542 001372 BNE 1$
12890 POP <R2,R1,R0>
12891 142552 000207 RTS PC
12892
12893 142554 007201 $SMRLST:.WORD DCOMST!DFUNC!<SETMR*1000>
12894 142556 001201 .WORD DCOMST!DFUNC!<STRCLK*1000>
12895 142560 000201 .WORD DCOMST!DFUNC!<STPCLK*1000>
12896 142562 006201 .WORD DCOMST!DFUNC!<CLRMR*1000>
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 374
BR11 PALII[KL,SYS] Page 12 RCRAM ROUTINE
12897 .SBTTL RCRAM ROUTINE
12898
12899 142564 005700 $RCRAM: TST R0 ;IS R0 NEG
12900 142566 100406 BMI 1$ ;READ CURRENT CR IF YES
12901
12902 142570 104075 WWADR ;EXAMINE ADDRESS IN R0 IF HERE
12903 142572 012777 003201 014550 MOV #DCOMST!DFUNC!<SECLK*1000>,@.DIAG1
12904 142600 004737 141302 JSR PC,$$DFXDN ;CLOCK ADDRESS CONTENTS TO C.R.
12905
12906 142604 012703 147526 1$: MOV #$BUFRC+10.,R3 ;GET BUFFER ADDR FOR C-RAM CONTENTS
12907 142610 012704 143040 MOV #$RDLST,R4 ;GET DIAG FUNCTION LIST
12908
12909 142614 112400 2$: MOVB (R4)+,R0 ;DIAG FUNCTION
12910 142616 104116 DFRD
12911 142620 012701 147532 MOV #WREADY,R1 ;DESTINATION OF READ/MOVE
12912 142624 013700 157322 MOV .DAT3,R0
12913 142630 012021 MOV (R0)+,(R1)+
12914 142632 012021 MOV (R0)+,(R1)+
12915 142634 011011 MOV (R0),(R1)
12916
12917 142636 004737 143044 JSR PC,$SQASH ;GO CLEAR OUT BLANKS
12918 142642 012700 147535 MOV #WREADY+3,R0 ;ADDRESS OF DATA JUST READ
12919 142646 114043 MOVB -(R0),-(R3) ;BITS 16-19 TO BUFFER
12920 142650 005737 147512 TST SIGNL2 ;CHECK TRAFFIC LIGHT
12921 142654 001005 BNE 4$ ;BR TO RORING IF WRONG BOUNDARY
12922
12923 142656 114043 3$: MOVB -(R0),-(R3) ;BITS 20-27 TO WORK AREA
12924 142660 114043 MOVB -(R0),-(R3) ;BITS 28-35 TO WORK AREA
12925 142662 005137 147512 COM SIGNL2 ;CHANGE SIGNAL
12926 142666 000752 BR 2$ ;GET MORE DATA
12927
12928 142670 106313 4$: ASLB (R3) ;NEED TO FIX A HALF BYTE
12929 142672 106313 ASLB (R3)
12930 142674 106313 ASLB (R3)
12931 142676 106313 ASLB (R3)
12932 PUSH R0 ;DON'T LOSE DATA ADDRESS
12933 142702 012700 000004 MOV #4,R0 ;DO NEXT LOOP FOUR TIMES
12934
12935 142706 010302 10$: MOV R3,R2 ;ADDRESS OF DATA TO R2
12936 142710 106122 ROLB (R2)+ ;SHIFT AND DON'T FORGET "C"
12937 142712 106122 ROLB (R2)+
12938 142714 106122 ROLB (R2)+
12939 142716 106122 ROLB (R2)+
12940 142720 005300 DEC R0 ;ASSEMBLED COMPLETE HALF BYTE
12941 142722 001371 BNE 10$ ;LOOP AGAIN IF NO
12942 POP R0 ;RETRIEVE DATA ADDRESS
12943 142726 105723 TSTB (R3)+ ;FIX DESTINATION ADDRESS
12944 142730 005737 147510 TST SIGNL3 ;CHECK SIGNAL
12945 142734 001003 BNE 15$ ;DONE IF MINUS
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 375
BR11 PALII[KL,SYS] Page 12.1 RCRAM ROUTINE
12946 142736 005137 147510 COM SIGNL3 ;OTHERWISE CHANGE SIGNAL
12947 142742 000745 BR 3$ ;CONTINUE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 376
BR11 PALII[KL,SYS] Page 13 RCRAM ROUTINE
12948 142744 113743 147533 15$: MOVB WREADY+1,-(R3) ;ENDING UP
12949 142750 113743 147532 MOVB WREADY,-(R3) ;CRAM BITS 0-15 TO BUFFER
12950 142754 005137 147510 COM SIGNL3 ;SIGNL3 TO ZERO
12951 142760 005137 147512 COM SIGNL2 ;SIGNL2 TO ZERO
12952 142764 104140 DFRDT
12953 142766 000141 RCSPEC ;READ SPEC FIELD
12954 142770 017701 014330 MOV @.DAT2,R1 ;GET DISP 03,04
12955 142774 017700 014326 MOV @.DAT1,R0 ;GET DISP 00,01,02
12956 143000 006101 ROL R1 ;JUSTIFY IN R0
12957 143002 006100 ROL R0
12958 143004 006101 ROL R1
12959 143006 006100 ROL R0
12960
12961 143010 042700 177740 BIC #177740,R0 ;CLEAR TRASH
12962 143014 110037 147526 MOVB R0,$BUFRC+12 ;SAVE IN BUFFER
12963 143020 012700 147516 MOV #$BUFRC+2,R0 ;RETURN DATA ADDRESS IN R0
12964 143024 042710 000005 BIC #5,(R0) ;CLEAR PARITY BITS
12965 143030 042740 052525 BIC #52525,-(R0) ;AND FIX ADDRESS
12966 EXIT ;DONE
12967 143034 000137 124064 JMP $EXIT
12968
12969 143040 147 $RDLST: .BYTE RCRAM1 ;READ CRAM 0-19
12970 143041 146 .BYTE RCRAM2 ;READ CRAM 20-39
12971 143042 145 .BYTE RCRAM3 ;READ CRAM 40-59
12972 143043 144 .BYTE RCRAM4 ;READ CRAM 60-79-EVEN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 377
BR11 PALII[KL,SYS] Page 14 RCRAM ROUTINE
12973 143044 013701 147532 $SQASH: MOV WREADY,R1 ;GET STRETCHED BITS 8-19
12974 143050 013702 147534 MOV WREADY+2,R2 ;GET STRECHED BITS 0-7
12975 143054 005000 CLR R0 ;CLEAR A DESTINATION
12976 143056 000261 SEC ;SET A DONE FLAG
12977 143060 006000 ROR R0 ;AND ROLLIT INTO R0
12978 143062 012705 000004 1$: MOV #4,R5 ;FOUR BITS PER GROUP
12979 143066 005305 2$: DEC R5 ;DONE A GROUP OF FOUR
12980 143070 002413 BLT 20$ ;BRANCH IF NO
12981 143072 006202 ASR R2 ;ROTATE SOURCE BITS RIGHT
12982 143074 006001 ROR R1 ;ALL TWENTY OF THEM
12983 143076 006000 ROR R0 ;BEGIN WITH FIRST FLAG INTO R0
12984 143100 103372 BCC 2$ ;IF FLAG FALLS OUT..DONE
12985
12986 ;HERE TO FINISH UP
12987
12988 143102 006201 ASR R1 ;MAKE LAST BLANKS
12989 143104 006201 ASR R1 ;GO VERY FAR AWAY
12990 143106 010037 147532 MOV R0,WREADY ;STORE RESULTS IN CORE
12991 143112 010137 147534 MOV R1,WREADY+2 ;ALL DONE
12992 143116 000207 RTS PC ;RETURN
12993
12994 143120 006202 20$: ASR R2 ;HERE TO SHIFT AWAY
12995 143122 006001 ROR R1 ;THE PAIR
12996 143124 006202 ASR R2 ;OF BLANKS HIDDEN
12997 143126 006001 ROR R1 ;AMIDST THE REAL DATA
12998 143130 000754 BR 1$ ;CONTINUE
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 378
BR11 PALII[KL,SYS] Page 15 MICNUL & MICFIL C-RAM ROUTINES
12999 .SBTTL MICNUL & MICFIL C-RAM ROUTINES
13000
13001 ;MICNUL, FILL C-RAM LOCATIONS WITH ZEROS
13002
13003 143132 010102 $MICNUL:MOV R1,R2 ;NUMBER OF WORDS TO R2
13004 143134 010003 MOV R0,R3 ;SAVE START ADDRESS
13005 143136 052703 100000 BIS #100000,R3 ;BYPASS MR AFTER FIRST TIME
13006 143142 012701 147556 MOV #ZEROS,R1
13007
13008 143146 104075 1$: WWADR ;WRITE C-RAM ADDRESS
13009
13010 143150 012704 000003 MOV #3,R4
13011 143154 112700 000057 MOVB #LCRAM1,R0 ;1ST FUNCTION IS A WRITE
13012 143160 104120 DFWRT
13013
13014 143162 116400 143212 2$: MOVB FLST(R4),R0 ;DIAG FUNCTION
13015 143166 004737 141250 JSR PC,$DFXFST
13016 143172 005304 DEC R4
13017 143174 002372 BGE 2$ ;ZERO ALL BITS
13018
13019 143176 005203 INC R3 ;INCREMENT C-RAM ADDRESS
13020 143200 010300 MOV R3,R0
13021 143202 005302 DEC R2 ;FINISHED ALL WORDS YET ?
13022 143204 003360 BGT 1$
13023 10$: EXIT ;YES
13024 143206 000137 124064 JMP $EXIT
13025
13026 143212 053 FLST: .BYTE LCRAM5
13027 143213 054 .BYTE LCRAM4
13028 143214 055 .BYTE LCRAM3
13029 143215 056 .BYTE LCRAM2
13030 143216 057 .BYTE LCRAM1
13031 143220 .EVEN
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 379
BR11 PALII[KL,SYS] Page 16 MICNUL & MICFIL C-RAM ROUTINES
13032 ;MICFIL, C-RAM FILL WITH ONES ROUTINE
13033
13034 143220 010102 $MICFIL:MOV R1,R2 ;NUMBER OF WORDS TO R2
13035 143222 010003 MOV R0,R3 ;SAVE ADDRESS
13036 143224 052703 100000 BIS #100000,R3 ;BYPASS MR AFTER FIRST TIME
13037 143230 012701 100056 MOV #TENMO,R1 ;36 BITS OF ONES
13038
13039 143234 104075 1$: WWADR ;WRITE C-RAM ADDRESS
13040 143236 012704 000004 MOV #4,R4
13041
13042 143242 116400 143212 2$: MOVB FLST(R4),R0 ;DIAG FUNCTION
13043 143246 104120 DFWRT
13044 143250 005304 DEC R4 ;DO ALL BITS
13045 143252 002373 BGE 2$
13046
13047 143254 005203 INC R3 ;INCREMENT C-RAM ADDRESS
13048 143256 010300 MOV R3,R0
13049 143260 005302 DEC R2 ;DONE ALL ADDRESSES YET ?
13050 143262 003364 BGT 1$
13051 10$: EXIT
13052 143264 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 380
BR11 PALII[KL,SYS] Page 17 WDRAM ROUTINE
13053 .SBTTL WDRAM ROUTINE
13054
13055 143270 010002 $WDRAM: MOV R0,R2 ;COPY DRAM ADDRESS
13056 143272 006000 ROR R0 ;CHECK IF ODD OR EVEN
13057 143274 103002 BCC 1$ ;BR IF EVEN
13058 143276 000137 113350 JMP ADRERR ;ADDRESS ERROR IF ODD
13059
13060 143302 006100 1$: ROL R0 ;FIX ADDRESS
13061 PUSH R1 ;SAVE POINTER TO DATA
13062 143306 104130 DRAMAD ;GO WRITE DRAM ADDRESS
13063 POP R3 ;PUT POINTER TO DATA IN R3
13064 143312 012301 MOV (R3)+,R1 ;DATA INTO R1
13065 143314 004537 143662 JSR R5,DATEVE ;WRITE EVEN DATA
13066 143320 012301 MOV (R3)+,R1 ;DATA INTO R1
13067 143322 004537 143646 JSR R5,DATODD ;WRITE ODD DATA
13068 143326 011301 MOV (R3),R1 ;DATA INTO R1
13069 143330 004537 143634 JSR R5,DATCOM ;WRITE COMMON DATA
13070 EXIT
13071 143334 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 381
BR11 PALII[KL,SYS] Page 18 RDRAM ROUTINE
13072 .SBTTL RDRAM ROUTINE
13073
13074 $RDRAM: PUSH <R1,R0> ;SAVE R1,STORE DRAM ADDR ON STACK TOP
13075 143344 005001 CLR R1 ;R1 IS AN INDEX COUNTER
13076 143346 104130 1$: DRAMAD ;WRITE DRAM ADDRESS
13077 143350 012777 015201 013772 MOV #DCOMST!DFUNC!<DRLTCH*1000>,@.DIAG1
13078 143356 004737 141302 JSR PC,$$DFXDN ;STROBE DATA TO LATCHES
13079 143362 104140 DFRDT
13080 143364 000135 DRJ710 ;FUNCTION TO READ J07,08,09,10
13081 143366 017700 013732 MOV @.DAT2,R0 ;GET J DATA 7-10
13082 143372 006200 ASR R0 ;RIGHT JUSTIFY
13083 143374 006200 ASR R0 ;J-FIELD DATA
13084 143376 042700 177700 BIC #177700,R0 ;CLEAR EXTRA
13085 143402 110061 147476 MOVB R0,RDRTMP(R1) ;SAVE DATA IN CORE
13086 143406 005201 INC R1 ;INCREMENT INDEX
13087
13088 143410 104140 DFRDT
13089 143412 000133 DRAMAB ;FUNCTION TO READ "A" & "B" FIELD
13090 143414 017700 013704 MOV @.DAT2,R0 ;GET A & B DATA
13091 143420 006200 ASR R0 ;RIGHT JUSTIFY
13092 143422 006200 ASR R0 ;IN R0
13093 143424 042700 177700 BIC #177700,R0 ;CLEAR EXTRA
13094 143430 110061 147476 MOVB R0,RDRTMP(R1) ;STORE IN CORE
13095 143434 005201 INC R1 ;INCREMENT INDEX
13096
13097 ;DECIDE IF THIS IS FIRST OR SECOND PASS
13098
13099 143436 020127 000003 CMP R1,#3 ;INDEX UP TO 3 YET??
13100 143442 002003 BGE 2$ ;ON OUT IF YES
13101 POP R0 ;IF NO,GET DRAM ADDRESS
13102 143446 005200 INC R0 ;GET ODD HALF OF EVEN/ODD PAIR
13103 143450 000736 BR 1$ ;LOOP AGAIN
13104
13105 143452 104140 2$: DFRDT
13106 143454 000134 DRJ1.4 ;FUNCTION TO READ J01-J04
13107 143456 017700 013642 MOV @.DAT2,R0 ;GET JDATA 01-04
13108 143462 006200 ASR R0 ;RIGHT JUSTIFY
13109 143464 006200 ASR R0 ;J1-J4 BITS
13110 143466 042700 177760 BIC #177760,R0 ;CLEAR UNWANTED
13111 143472 110037 147502 MOVB R0,RDRTMP+4 ;BIT SET TO CORE
13112 143476 012700 147476 MOV #RDRTMP,R0 ;PASS BACK DATA ADDRESS IN R0
13113 POP R1 ;RESTORE R
13114 EXIT
13115 143504 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 382
BR11 PALII[KL,SYS] Page 19 RDRAM ROUTINE
13116 143510 012703 147502 $DRAMAD: MOV #DDRAM,R3 ;GET ADDRESS OF EBUS DATA
13117 143514 010304 MOV R3,R4 ;GET A COPY IN R4
13118 143516 122424 CMPB (R4)+,(R4)+ ;INCREMENT IT TO DDRAM+2
13119 143520 010002 MOV R0,R2 ;PUT ACTUAL ADDRESS IN R2
13120 143522 005102 COM R2 ;READY TO TEST ADDR BITS 0-2
13121 143524 032702 000700 BIT #700,R2 ;MAKE THE TEST
13122 143530 001416 BEQ 1$ ;BR IF ADDR IS 7XX
13123
13124 ;CODE FOR NON 7XX ADDRESSES
13125
13126 143532 005102 COM R2 ;WAS NOT 7XX,SO FIX ADDRESS
13127 143534 006302 ASL R2 ;JUSTIFY ADDRESS IN
13128 143536 006302 ASL R2 ;CORRECT BIT POSITION
13129 143540 006302 ASL R2 ;NEED THREE SHIFTS
13130 143542 105024 CLRB (R4)+ ;INCREMENT TO DDRAM+3
13131 143544 110224 MOVB R2,(R4)+ ;MOVE ADDR BITS 4-8 TO EBUS DATA
13132 143546 000302 SWAB R2 ;GET THE REST OF THE BITS
13133 143550 110214 MOVB R2,(R4) ;MOVE ADDR BITS 0-3 TO EBUS DATA
13134 143552 004737 142506 4$: JSR PC,$SPCMR ;SPECIAL MASTER RESET
13135 143556 004537 143620 JSR R5,WIRAR ;GO TO DO THE ACTUAL WRITE
13136 EXIT
13137 143562 000137 124064 JMP $EXIT
13138
13139 ;CODE FOR 7XX ADRESSES
13140
13141 143566 005102 1$: COM R2 ;FIX ADDRESS TO ORIGINAL STATE
13142 143570 006002 ROR R2 ;PUT LOW ORDER BIT IN "C" BIT
13143 143572 103402 BCS 2$ ;"C" SET MEANS IR BIT 12 MUST=1
13144
13145 143574 105024 CLRB (R4)+ ;NO "C" BIT MEANS IR BIT 12 MUST=0
13146 143576 000402 BR 3$ ;GO TO MOVE ADDRESS TO EBUS DATA
13147
13148 143600 112724 000200 2$: MOVB #200,(R4)+ ;SET IR BIT 12=1
13149 143604 042702 000340 3$: BIC #340,R2
13150 143610 110224 MOVB R2,(R4)+ ;MOVE D-RAM ADDR TO EBUS BIT POSITION 7-11
13151 143612 112714 000016 MOVB #16,(R4) ;SET THE 7 FROM 7XX IN EBUS DATA
13152 143616 000755 BR 4$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 383
BR11 PALII[KL,SYS] Page 20 RDRAM ROUTINE
13153 ;WRITE THE IR
13154
13155 143620 012701 147502 WIRAR: MOV #DDRAM,R1 ;EBUS DATA ALWAYS AT DDRAM
13156 143624 012700 000077 WIRAR1: MOV #LDAR,R0 ;FUNCTION TO LOAD AR
13157 143630 104121 DFWIR
13158 143632 000205 RTS R5
13159
13160 ;NOW FOR COMMON LITTLE PIECES OF THE LOADING OF THE DRAM
13161
13162 143634 012700 000062 DATCOM: MOV #LDRAM3,R0 ;GET DIAG FUN TO WRITE COMMON
13163 143640 006301 ASL R1 ;JUSTIFY DATA FOR THE EBUS
13164 143642 006301 ASL R1
13165 143644 000424 BR CON2 ;GO WRITE IT
13166
13167 143646 012737 000061 147460 DATODD: MOV #LDRAM2,$DDRMS ;FUNCTION FOR J-FIELD A & B
13168 143654 012700 000064 MOV #LDRJOD,R0 ;FUNCTION FOR J-FIELD ODD
13169 143660 000405 BR CON1 ;GO
13170 143662 012737 000060 147460 DATEVE: MOV #LDRAM1,$DDRMS ;FUNCTION FOR J-FIELD A & B
13171 143670 012700 000063 MOV #LDRJEV,R0 ;FUNCTION J-FIELD EVEN
13172 143674 006301 CON1: ASL R1 ;JUSTIFY PIECE I'M
13173 143676 006301 ASL R1 ;INTERESTED IN FOR J-DATA FIELDS
13174 PUSH R1 ;SAVE DATA TO BE SENT
13175 143702 004537 143716 JSR R5,CON2 ;WRITE J-DATA
13176 POP R1 ;GET DATA AGAIN
13177 143710 000301 SWAB R1 ;NOW I'VE GOT A & B
13178 143712 013700 147460 MOV $DDRMS,R0 ;GET CORRECT DIAG FUNCTION, & WRITE
13179
13180 143716 110137 147504 CON2: MOVB R1,DDRAM+2 ;R1 ALWAYS HAS THE DATA
13181 143722 012701 147502 MOV #DDRAM,R1 ;I ALWAYS PUT IT IN DDRAM
13182 143726 104120 DFWRT
13183 143730 000205 RTS R5 ;NOW WRITE
13184
13185 ;CLOCK DEFAULT PARAMETER ADDRESS
13186
13187 143732 012700 157246 $CLKPRM:MOV #CLKDFL,R0 ;PUT ADDRESS IN R0
13188 EXIT
13189 143736 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 384
BR11 PALII[KL,SYS] Page 21 M-BOX CLOCK BURST ROUTINE
13190 .SBTTL M-BOX CLOCK BURST ROUTINE
13191
13192 143742 005037 147454 $BURST: CLR KLCLKR ;CLEAR KL10 CLOCK RUNNING
13193 143746 012701 147456 MOV #$STDAT,R1 ;WORD POINTER TO R1
13194 143752 010002 MOV R0,R2 ;BURST COUNT TO R2
13195 143754 042702 177600 BIC #177600,R2 ;SAVE LOWER 7 BITS
13196 143760 006100 ROL R0
13197 143762 000300 SWAB R0
13198 143764 005003 CLR R3
13199 143766 150003 BISB R0,R3 ;# OF 128. CLOCK MULTIPLES
13200 143770 001425 BEQ 2$ ;NONE, DO BURST
13201
13202 143772 012777 000201 013350 1$: MOV #DCOMST!DFUNC!<STPCLK*1000>,@.DIAG1
13203 144000 004737 141302 JSR PC,$$DFXDN ;CLEAR BURST MODE
13204 144004 005011 CLR (R1)
13205 144006 012700 000042 MOV #LDBRR,R0
13206 144012 104120 DFWRT ;CLEAR BURST REG RIGHT
13207 144014 012711 000010 MOV #10,(R1)
13208 144020 012700 000043 MOV #LDBRL,R0
13209 144024 104120 DFWRT ;LOAD BURST REG LEFT
13210 144026 012777 005201 013314 MOV #DCOMST!DFUNC!<BRCLK*1000>,@.DIAG1
13211 144034 004737 141302 JSR PC,$$DFXDN ;BURST 128 CLOCKS
13212 144040 005303 DEC R3 ;ANY MORE ?
13213 144042 003353 BGT 1$ ;YES, DO 128 MORE
13214
13215 144044 012777 000201 013276 2$: MOV #DCOMST!DFUNC!<STPCLK*1000>,@.DIAG1
13216 144052 004737 141302 JSR PC,$$DFXDN ;CLEAR BURST MODE
13217 144056 010203 MOV R2,R3 ;NUMBER LEFT TO DO
13218 144060 042702 177760 BIC #177760,R2
13219 144064 010211 MOV R2,(R1)
13220 144066 012700 000042 MOV #LDBRR,R0
13221 144072 104120 DFWRT ;LOAD BURST REG RIGHT
13222 SR R3,4
13223 144104 010311 MOV R3,(R1)
13224 144106 012700 000043 MOV #LDBRL,R0
13225 144112 104120 DFWRT ;LOAD BURST REG LEFT
13226 144114 012777 005201 013226 MOV #DCOMST!DFUNC!<BRCLK*1000>,@.DIAG1
13227 144122 004737 141302 JSR PC,$$DFXDN ;BURST THE CLOCK
13228 EXIT
13229 144126 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 385
BR11 PALII[KL,SYS] Page 22 LOAD AR ROUTINE
13230 .SBTTL LOAD AR ROUTINE
13231
13232 ; ROUTINE TO LOAD THE AR WITH AN INSTRUCTION TO BE EXECUTED.
13233 ; GETS THE MICROCODE TO THE HALT LOOP, AND THEN LINES UP THE
13234 ; MBOX PHASE CHANGE TIMING WITH EBOX SYNC BEFORE LOADING
13235 ; THE AR. THE LATTER IS NECCESSARY IN ORDER TO MAKE INSTRUCTION
13236 ; EXECUTION REPEATABLE AT THE CLOCK TICK LEVEL FOR "TRACE" AND
13237 ; FOR THE MBOX DIAGNOSTIC.
13238
13239 144132 010003 $LODAR: MOV R0,R3 ;SAVE DATA POINTER
13240 144134 012777 010201 013206 MOV #DCOMST!DFUNC!<CLRRUN*1000>,@.DIAG1
13241 144142 004737 141302 JSR PC,$$DFXDN ;STOP EXECUTION
13242 144146 012700 000177 MOV #177,R0
13243 144152 104131 BURST ;RUN CLOCK FOR FIXED PERIOD
13244 144154 012777 004201 013166 MOV #DCOMST!DFUNC!<CECLK*1000>,@.DIAG1
13245 144162 004737 141302 JSR PC,$$DFXDN ;GET EBOX CLOCK FALSE
13246 144166 032777 001000 013154 BIT #HALTLP,@.DIAG1
13247 144174 001002 BNE 1$ ;IF AT HALT LOOP
13248 3$: EXITERR
13249 144176 000137 124036 JMP $EXITE
13250
13251 ; NOW CALL ROUTINE TO GET MBOX IN PHASE
13252
13253 144202 004737 144266 1$: JSR PC,$MBPHS
13254 144206 103001 BCC 2$ ;BR IF ALL OK
13255 144210 000772 BR 3$
13256
13257 144212 010301 2$: MOV R3,R1
13258 144214 012700 000077 MOV #LDAR,R0
13259 144220 104120 DFWRT ;LOAD AR
13260 EXIT
13261 144222 000137 124064 JMP $EXIT
13262
13263 ; SETMPH EMT ROUTINE TO SELECT WHICH MBOX PHASE TO SYNC UP TO
13264 ;DURING THE LODAR PROCESS. R0 SELECTS ONE OF FOUR PLACES TO SYNC.
13265 ; R0 = 0, A CHANGE COMING; R0 = 1, HALFWAY TWIXT A AND B
13266 ; R0 = 2, B CHANGE COMING; R0 = 3, HALFWAY TWIXT B AND A.
13267
13268 144226 010037 157220 $SETMPH:MOV R0,$STODD ;SAVE FOR HALF-PHASE TEST
13269 144232 042700 000001 BIC #BIT0,R0 ;CLR ODD-EVEN BIT
13270 144236 016037 144256 157214 MOV $STMTB(R0),$MPHDF ;SET DF VALUE FOR A OR B CHANGE
13271 144244 016037 144262 157216 MOV $STMT1(R0),$MPHMK ;SET BIT MASK FOR A OR B CHANGE
13272 EXIT
13273 144252 000137 124064 JMP $EXIT
13274
13275 144256 000162 $STMTB: 162 ;A CHANGE COMING DF
13276 144260 000163 163 ;B CHANGE COMING DF
13277
13278 144262 000010 $STMT1: 10 ;A CHANGE COMING BIT MASK
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 386
BR11 PALII[KL,SYS] Page 22.1 LOAD AR ROUTINE
13279 144264 000400 400 ;B CHANGE COMING BIT MASK
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 387
BR11 PALII[KL,SYS] Page 23 MBOX PHASE ROUTINE
13280 .SBTTL MBOX PHASE ROUTINE
13281
13282 ; ROUTINE TO PHASE THE MBOX WITH THE EBOX HALT LOOP.
13283 ; MICROCODE ASSUMPTIONS: THE HALT LOOP IS TWO INSTRUCTIONS
13284 ; THE FIRST IS AT AN EVEN ADDRESS AND HAS T=3T (these used to be labeled
13285 ; THE SECOND IS AT AN ODD ADDRESS AND HAS T=2T backwards)
13286 ; THIS CODE LOOKS FOR THE INTERSECTION OF THE EVEN ADDRESS,
13287 ; CLK SYNC TRUE, PHASE CHANGE COMING TRUE, AND THE SELECTED
13288 ; PHASE (A OR B CHANGE COMING). THE LATTER IS CHOSEN BY
13289 ; THE "SETMPH" EMT.
13290
13291 144266 012702 000024 $MBPHS: MOV #20.,R2 ;SET TIMOUT VALUE
13292 144272 012701 000001 1$: MOV #1,R1 ;SET TICK COUNTER
13293 144276 104140 DFRDT
13294 144300 000102 102
13295 144302 032777 000004 013012 BIT #BIT2,@.DAT3 ;BIT 33, CLK SYNC H
13296 144310 001442 BEQ 41$ ;FALSE, TRY 1 CLOCK
13297
13298 144312 104140 DFRDT
13299 144314 000144 144
13300 144316 032777 040000 013000 BIT #BIT14,@.DAT2 ;BIT 5, CR ADR 10 H
13301 144324 001033 BNE 42$ ;ODD, TRY 2 CLOCKS
13302
13303 144326 104140 DFRDT
13304 144330 000164 164
13305 144332 032777 000040 012762 BIT #BIT5,@.DAT3 ;BIT 30,PHASE CHANGE COMING L
13306 144340 001023 BNE 45$ ;FALSE, TRY 5 CLOCKS
13307
13308 144342 013700 157214 MOV $MPHDF,R0 ;used to be MOVB -- jbr 4/27
13309 144346 104116 DFRD
13310 144350 005000 CLR R0
13311 144352 033777 157216 012742 BIT $MPHMK,@.DAT3 ;EITHER A OR B CHANGE COMING L used to be bitb --jbr
13312 144360 001402 BEQ 2$ ;TRUE, EXIT
13313 144362 012700 000012 MOV #10.,R0 ;NEED 10 CLOCKS
13314 144366 032737 000001 157220 2$: BIT #BIT0,$STODD ;WANT HALFWAY BETWEEN?
13315 144374 001402 BEQ 3$ ;BR IF NOT
13316 144376 062700 000005 ADD #5,R0 ;FIVE MORE TICKS THEN
13317 144402 104131 3$: BURST ;DO THIS BURST:0,5,10, OR 15
13318 144404 000241 CLC
13319 144406 000207 RTS PC ;WE'RE THERE
13320
13321 144410 062701 000003 45$: ADD #3,R1 ;MAKE IT FOUR
13322 144414 005201 42$: INC R1 ;MAKE IT TWO OR FIVE
13323 144416 010100 41$: MOV R1,R0
13324 144420 104131 BURST ;DO ONE TWO OR FIVE
13325 144422 005302 DEC R2 ;COUNT TIMEOUT
13326 144424 001322 BNE 1$
13327 144426 000261 SEC
13328 144430 000207 RTS PC ;TOOK TOO LONG, ERROR
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 388
BR11 PALII[KL,SYS] Page 24 VMA, VMAH, PC & ADDRESS BREAK ROUTINE
13329 .SBTTL VMA, VMAH, PC & ADDRESS BREAK ROUTINE
13330
13331 ;ROUTINE TO READ ONE OF 4 REGISTERS ON THE VMA BOARD.
13332 ;ROUTINE RETURNS WITH R0 POINTING TO A 36 BIT WORD WITH
13333 ;THE DESIRED DATA JUSTIFIED AT BIT 35
13334
13335 144432 012700 000157 $DFVMH: MOV #DPVMHD,R0 ;FUNCTION TO READ VMA HELD
13336 144436 000402 BR $DFPC1
13337 144440 012700 000153 $DFPC: MOV #DPPC,R0 ;FUNCTION TO READ PC
13338 144444 012705 000003 $DFPC1: MOV #3,R5
13339 144450 012704 000273 MOV #273,R4 ;MASK FOR REGISTER OFFSET FROM BIT 35
13340 144454 000410 BR $VMPC
13341 144456 012700 000157 $DFVMA: MOV #DPVMA,R0 ;DIAG FUNCTION TO READ VMA
13342 144462 000402 BR $VMPC1
13343 144464 012700 000153 $DFADB: MOV #DPADB,R0 ;DIAG FUNCTION TO READ ADDRESS BREAK
13344 144470 012704 000356 $VMPC1: MOV #356,R4
13345 144474 005005 CLR R5
13346 $VMPC: PUSH R0
13347 144500 012702 000004 MOV #4,R2 ;FOUR READS PER REGISTER
13348 144504 012701 147550 MOV #VMADAT,R1 ;FIRST CLEAR ENTIRE 36-BIT BUFFER
13349 144510 005021 CLR (R1)+
13350 144512 005021 CLR (R1)+
13351 144514 005021 CLR (R1)+
13352
13353 144516 012701 147532 1$: MOV #WREADY,R1 ;PUT DFRD DATA HERE
13354 144522 104117 DFRDMV
13355 144524 012700 000005 MOV #5,R0 ;MASK RECEIVED DATA, FIVE BYTES WORTH
13356 144530 140421 2$: BICB R4,(R1)+
13357 144532 005300 DEC R0
13358 144534 003375 BGT 2$
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 389
BR11 PALII[KL,SYS] Page 25 VMA, VMAH, PC & ADDRESS BREAK ROUTINE
13359 144536 012701 147537 MOV #WREADY+5,R1 ;NOW MOVE READ DATA
13360 144542 012700 147555 MOV #VMADAT+5,R0 ;TO VMA REGISTER DATA
13361 144546 154140 BISB -(R1),-(R0)
13362 144550 154140 BISB -(R1),-(R0)
13363 144552 154140 BISB -(R1),-(R0)
13364 144554 154140 BISB -(R1),-(R0)
13365 144556 154140 BISB -(R1),-(R0)
13366 144560 106120 ROLB (R0)+ ;AND NOW SHIFT 35 BITS
13367 144562 106120 ROLB (R0)+ ;BY ONE BIT
13368 144564 106120 ROLB (R0)+
13369 144566 106120 ROLB (R0)+
13370 144570 106120 ROLB (R0)+
13371
13372 144572 005316 DEC (SP) ;CREATE NEXT DIAG FUNCTION
13373 144574 011600 MOV (SP),R0 ;TAKE IT OFF THE STACK
13374 144576 005302 DEC R2 ;DONE FOUR FUNCTIONS YET?
13375 144600 003346 BGT 1$ ;BR IF MORE TO DO
13376
13377 ;ALL DONE READING DATA, NOW JUSTIFY CORRECTLY FOR THE RETURN MACHINE
13378
13379 144602 012700 147555 3$: MOV #VMADAT+5,R0 ;MUST CORRECT BY OFFSET AMOUNT
13380 144606 106040 RORB -(R0)
13381 144610 106040 RORB -(R0)
13382 144612 106040 RORB -(R0)
13383 144614 106040 RORB -(R0)
13384 144616 106040 RORB -(R0)
13385 144620 005305 DEC R5 ;DONE YET?
13386 144622 003367 BGT 3$ ;BR IF NO
13387
13388 ;OFFSET MAY ORIGINALLY NEED TO BE GREATER THAN 0 IF
13389 ;VMA DIAG MIXERS NOT RIGHT JUSTIFIED AT EBUS BIT 35
13390
13391 4$: POP R0
13392 144626 012700 147550 MOV #VMADAT,R0
13393 EXIT
13394 144632 000137 124064 JMP $EXIT
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 390
KLDCP PAL[KL,SYS] Page 5.10 VMA, VMAH, PC & ADDRESS BREAK ROUTINE
13395
13396 ;Storage definitions
13397 .INSRT SBST11.PAL
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 391
SBST11 PAL[KL,SYS] Page 1 VMA, VMAH, PC & ADDRESS BREAK ROUTINE
13398 COMMENT ⊗ VALID 00009 PAGES
13399 C REC PAGE DESCRIPTION
13400 C00001 00001
13401 C00002 00002 .SBTTL *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13402 C00004 00003 BUFFER CREATION MACROS
13403 C00005 00004 PROGRAM BUFFERS & STORAGE AREA
13404 C00012 00005 COMMON STORAGE
13405 C00017 00006 DECTAPE PARAMETER STORAGE
13406 C00020 00007 TELETYPE BUFFERS
13407 C00023 00008 CONSOLE PARAMETER STORAGE
13408 C00025 00009 MISCELLANEOUS STORAGE
13409 C00028 ENDMK
13410 C⊗;
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 392
SBST11 PAL[KL,SYS] Page 2 *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13411 .SBTTL *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13412
13413 .MACRO INFORM A,B
13414 .IF P2
13415 .PRINT \A=B
13416 \
13417 .ENDC
13418 .ENDM
13419
13420
13421 .IF DF KLDCP
13422 ;DECISION TABLES FOR KL10/11 SUBROUTINE PACKAGE
13423
13424 $DTBL0:
13425 144636 012 $LF: .BYTE 12
13426 144637 015 $CR: .BYTE 15
13427 144640 007 $BELL: .BYTE 07
13428 144641 000 .BYTE 00
13429 144642 .EVEN
13430
13431 144642 144650 $DTBL1: $LFTBL ;LINE FEED FILL TABLE
13432 144644 144656 $CRTBL ;CARRIAGE RETURN FILL TABLE
13433 144646 144664 $BELLT ;BELL FILL TABLE
13434
13435 144650 001
13436 144651 001 $LFTBL: .BYTE 1,1
13437 144652 002
13438 144653 001 .BYTE 2,1
13439 144654 002
13440 144655 004 .BYTE 2,4
13441
13442 144656 000
13443 144657 000 $CRTBL: .BYTE 0,0
13444 144660 011
13445 144661 001 .BYTE 9.,1
13446 144662 002
13447 144663 004 .BYTE 2,4
13448
13449 144664 002
13450 144665 002 $BELLT: .BYTE 2,2
13451 144666 002
13452 144667 002 .BYTE 2,2
13453 144670 002
13454 144671 002 .BYTE 2,2
13455
13456 144672 023420 $DTBL: 10000.
13457 144674 001750 1000.
13458 144676 000144 100.
13459 144700 000012 10.
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 393
SBST11 PAL[KL,SYS] Page 2.1 *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13460 144702 000001 1.
13461 144704 000001 $TBLL: 1.
13462 144706 000012 10.
13463 144710 000144 100.
13464 144712 001750 1000.
13465 144714 023420 10000.
13466
13467 .ENDC ;IF DF KLDCP
13468
13469 INFORM PROGRAM END,\.
13470 .IF P2
13471 .PRINT \PROGRAM END=144716
13472 \
13473 .ENDC
13474
13475 ;THIS SECTION CONTAINS ALL PROGRAM TEXT LITERALS
13476
13477 144716 147306 $$FF: $$CLIT
13478
13479 144720 $$LITT=.
13480 147306 $$$FF=$$CLIT
13481
13482 INFORM LITERAL END,\$$CLIT
13483 .IF P2
13484 .PRINT \LITERAL END=147306
13485 \
13486 .ENDC
13487
13488 .IF P2
13489 147306 .=$$CLIT
13490 ;PATCH: .BLKW 40
13491 147306 PATEND==.
13492 .ENDC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 394
SBST11 PAL[KL,SYS] Page 3 *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13493 ;BUFFER CREATION MACROS
13494
13495 157360 $$BUF== COREND-420 ;ROOM FOR STACK
13496 157360 $$STKM==$$BUF ;Bottom boundary of stack
13497
13498 ;WORD BUFFER ASSIGNMENT MACRO
13499 .MACRO .BUFW $BTAG,$BARG
13500 .IIF NE $$BUF&1,$$BUF==$$BUF-1
13501 .IIF B $BARG,$$BARG==1
13502 .IIF NB $BARG,$$BARG==$BARG
13503 $$BUF==$$BUF-<$$BARG*2>
13504 .NLIST
13505 .LIST ME
13506 .LIST
13507 $BTAG== $$BUF
13508 .NLIST ME
13509 .ENDM
13510
13511 ;BYTE BUFFER ASSIGNMENT MACRO
13512 .MACRO .BUFB $BTAG,$BARG
13513 .IIF B $BARG,$$BARG==1
13514 .IIF NB $BARG,$$BARG==$BARG
13515 $$BUF==$$BUF-$$BARG
13516 .NLIST
13517 .LIST ME
13518 .LIST
13519 $BTAG== $$BUF
13520 .NLIST ME
13521 .ENDM
13522
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 395
SBST11 PAL[KL,SYS] Page 4 *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13523 157356 .DIAG3== $$BUF
13524 157354 .STDTE== $$BUF
13525 157352 .DIAG2== $$BUF
13526 157350 .DIAG1== $$BUF
13527 157346 .T11DT== $$BUF
13528 157344 .T10DT== $$BUF
13529 157342 .T11AD== $$BUF
13530 157340 .T10AD== $$BUF
13531 157336 .BC11== $$BUF
13532 157334 .BC10== $$BUF
13533 157332 .TENA2== $$BUF
13534 157330 .TENA1== $$BUF
13535 157326 .DAT1== $$BUF
13536 157324 .DAT2== $$BUF
13537 157322 .DAT3== $$BUF
13538 157320 .DELAY== $$BUF
13539 157316 $ONETM== $$BUF
13540 157314 $ILDSUM== $$BUF
13541 157312 $PWRCNT== $$BUF
13542 157310 DEVTYP== $$BUF
13543 157306 FLOPPY== $$BUF
13544 157304 LPTFLG== $$BUF
13545 157302 LPTYPE== $$BUF
13546 157300 RXUNIT== $$BUF
13547 157276 DTUNIT== $$BUF
13548 157274 RPUNIT== $$BUF
13549 157272 $BKFLG== $$BUF
13550 157264 CLKPE== $$BUF
13551 157262 PEBITS== $$BUF
13552 157254 PAGDFL== $$BUF
13553 157246 CLKDFL== $$BUF
13554 157240 SWS10== $$BUF
13555 157232 $SWS10== $$BUF
13556 157230 $$SWR== $$BUF
13557 157222 $$STJRS== $$BUF
13558 157220 $STODD== $$BUF
13559 157216 $MPHMK== $$BUF
13560 157214 $MPHDF== $$BUF
13561 157210 TGOADR== $$BUF
13562 157204 PGOADR== $$BUF
13563 157202 PGOCTL== $$BUF
13564 157200 SEADR== $$BUF
13565 157172 TIM11== $$BUF
13566 157164 TIMBAS== $$BUF
13567 157162 KTIMBS== $$BUF
13568 157160 CLKFLG== $$BUF
13569 157152 TIMTMP== $$BUF
13570 157144 TIMADR== $$BUF
13571 157142 TIMFLG== $$BUF
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 396
SBST11 PAL[KL,SYS] Page 4.1 *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13572 157140 TMSFLG== $$BUF
13573 157136 T11DBF== $$BUF
13574 157134 DTEBSY== $$BUF
13575 157132 DTEBCT== $$BUF
13576 157130 EN0PKO== $$BUF
13577 157126 EN0ER1== $$BUF
13578 157124 EN0PER== $$BUF
13579 157122 EN0PKI== $$BUF
13580 157120 EN0ER2== $$BUF
13581 157116 EN0MEM== $$BUF
13582 157114 EN0TRY== $$BUF
13583 157110 EN0BUF== $$BUF
13584 157106 EN0IND== $$BUF
13585 157104 ENBCCF== $$BUF
13586 157076 COUN10== $$BUF
13587 157056 EN0DLY== $$BUF
13588 157052 TO10Q== $$BUF
13589 157046 ENETQ== $$BUF
13590 157042 FR10Q== $$BUF
13591 157036 FREEQ== $$BUF
13592 157034 QMPRQS== $$BUF
13593 157032 ENIHAD== $$BUF
13594 152272 BOOTBF== $$BUF
13595 152266 BOOTSA== $$BUF
13596 152262 BOOTBG== $$BUF
13597 152260 FSSTATE== $$BUF
13598 152256 FSTPTR== $$BUF
13599 152254 FSTYPR== $$BUF
13600 152242 FSRBUF== $$BUF
13601 152240 FSRPTR== $$BUF
13602 152236 FSFLG== $$BUF
13603 152234 FSCLKA== $$BUF
13604 152226 FSRTIM== $$BUF
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 397
SBST11 PAL[KL,SYS] Page 5 *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13605 152224 $SWMON== $$BUF
13606 152222 MONCTL== $$BUF
13607 152220 TENSWD== $$BUF
13608 152216 TENCLK== $$BUF
13609 152214 PCMDFLG== $$BUF
13610 152212 PCMDNF== $$BUF
13611 152210 $ITERA== $$BUF
13612 152206 $ENDCT== $$BUF
13613 152204 $EOPCT== $$BUF
13614 152202 $ERRPC== $$BUF
13615 152200 $ERTTL== $$BUF
13616 152176 $ERFLG== $$BUF
13617 152174 $PASS== $$BUF
13618 152172 $CMTAG== $$BUF
13619 151172 DVBUF== $$BUF
13620 151166 EXTBF== $$BUF
13621 151160 NAMBF== $$BUF
13622 151156 DIRST4== $$BUF
13623 151154 DIRST3== $$BUF
13624 151152 DIRST2== $$BUF
13625 151150 DIRST1== $$BUF
13626 151146 DIRST0== $$BUF
13627 151144 DTEXT== $$BUF
13628 151136 DTEXTS== $$BUF
13629 151134 DTLNGTH== $$BUF
13630 151132 DTSTRT== $$BUF
13631 151130 DVADR== $$BUF
13632 151126 DVCNT== $$BUF
13633 151124 DVDIRF== $$BUF
13634 151122 CDADR== $$BUF
13635 151120 DIAFLG== $$BUF
13636 151116 RPEOF== $$BUF
13637 151110 WRTBAK== $$BUF
13638 151104 $RPINFO== $$BUF
13639 151076 NAMRAD== $$BUF
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 398
SBST11 PAL[KL,SYS] Page 6 *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13640 151074 REVCNT== $$BUF
13641 151072 INTSW== $$BUF
13642 151070 $CKS11== $$BUF
13643 151066 LTMP== $$BUF
13644 151064 LBC== $$BUF
13645 151062 TRYCTR== $$BUF
13646 151060 DTXCMD== $$BUF
13647 151056 WCSAV== $$BUF
13648 151054 CASAV== $$BUF
13649 151052 DTBLK== $$BUF
13650 151050 LDATAE== $$BUF
13651 150744 LDATA== $$BUF
13652 150742 LDADR== $$BUF
13653 150740 LDCNT== $$BUF
13654 150736 LDOCTF== $$BUF
13655 150734 LDCNTL== $$BUF
13656 150732 LDOVRD== $$BUF
13657 150730 LDZBLK== $$BUF
13658 150726 SRTFLG== $$BUF
13659 150724 DEVLC== $$BUF
13660 150722 HLPPNT== $$BUF
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 399
SBST11 PAL[KL,SYS] Page 7 *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13661 150720 $INPTR== $$BUF
13662 150716 $INPTC== $$BUF
13663 150500 $INBUF== $$BUF
13664 150476 $OUTPC== $$BUF
13665 150474 $OUTPT== $$BUF
13666 150472 $OUTPP== $$BUF
13667 150254 $OUTBF== $$BUF
13668 150252 $TNPTR== $$BUF
13669 150250 $TNPTC== $$BUF
13670 150032 $TNBUF== $$BUF
13671 150024 $TNCHR== $$BUF
13672 150022 TENTTY== $$BUF
13673 150020 $TTYIN== $$BUF
13674 150004 $TTSAV== $$BUF
13675 150002 $PRNTH== $$BUF
13676 150000 $PGWID== $$BUF
13677 147776 $TPLIN== $$BUF
13678 147774 $TPLIT== $$BUF
13679 147772 $XOFLG== $$BUF
13680 147770 CTRLOF== $$BUF
13681 147766 $EOLFLG== $$BUF
13682 147764 $TTLKF== $$BUF
13683 147762 TILNWF== $$BUF
13684 147760 $FORCE== $$BUF
13685 147756 $TTYFL== $$BUF
13686 147754 $0FLG== $$BUF
13687 147752 $NEG== $$BUF
13688 147750 $SVH== $$BUF
13689 147746 $SVM== $$BUF
13690 147744 $TICHR== $$BUF
13691 147742 $TOCHR== $$BUF
13692 147740 DDTFLG== $$BUF
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 400
SBST11 PAL[KL,SYS] Page 8 *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13693 147736 $KONSP== $$BUF
13694 147734 ALLFLG== $$BUF
13695 147732 RPTFLG== $$BUF
13696 147730 VERIFY== $$BUF
13697 147726 .EADR== $$BUF
13698 147724 $ECADR== $$BUF
13699 147722 $EDADR== $$BUF
13700 147720 $ADR== $$BUF
13701 147716 $ADR1== $$BUF
13702 147710 .DFRDA== $$BUF
13703 147704 .DPXAD== $$BUF
13704 147700 L10ADR== $$BUF
13705 147672 $TEMP0== $$BUF
13706 147670 TENRUN== $$BUF
13707 147666 MONMODE== $$BUF
13708 147664 MTTYOF== $$BUF
13709 147662 $TTYTIM== $$BUF
13710 147660 KASIM== $$BUF
13711 147656 $PCSAV== $$BUF
13712 147654 $PSSAV== $$BUF
13713 147652 $SPSAV== $$BUF
13714 147650 $R5SAV== $$BUF
13715 147646 $R4SAV== $$BUF
13716 147644 $R3SAV== $$BUF
13717 147642 $R2SAV== $$BUF
13718 147640 $R1SAV== $$BUF
13719 147636 $R0SAV== $$BUF
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 401
SBST11 PAL[KL,SYS] Page 9 *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13720 147634 $EMADR== $$BUF
13721 147632 $SWTCH== $$BUF
13722 147630 $$SVSP== $$BUF
13723 147626 TEMP== $$BUF
13724 147624 IFILEF== $$BUF
13725 147622 IFINP== $$BUF
13726 147620 JFILEF== $$BUF
13727 147616 JFINP== $$BUF
13728 147614 PRGRUN== $$BUF
13729 147612 MEMPEF== $$BUF
13730 147610 .HCFLG== $$BUF
13731 147606 .HCADR== $$BUF
13732 147604 DDTTM1== $$BUF
13733 147602 DDTTM2== $$BUF
13734 147574 $ECMD== $$BUF
13735 147566 $SAV20== $$BUF
13736 147564 VRBFLG== $$BUF
13737 147556 ZEROS== $$BUF
13738 147550 VMADAT== $$BUF
13739 147546 XXDAT== $$BUF
13740 147540 MMDAT== $$BUF
13741 147532 WREADY== $$BUF
13742 147530 SIGNL== $$BUF
13743 147514 $BUFRC== $$BUF
13744 147512 SIGNL2== $$BUF
13745 147510 SIGNL3== $$BUF
13746 147502 DDRAM== $$BUF
13747 147476 RDRTMP== $$BUF
13748 147462 $DRAM== $$BUF
13749 147460 $DDRMS== $$BUF
13750 147456 $STDAT== $$BUF
13751 147454 KLCLKR== $$BUF
13752 147446 TENDAT== $$BUF
13753 147442 TENAC0== $$BUF
13754 147434 C10CW== $$BUF
13755 147426 CLKCNT== $$BUF
13756 147424 $TADSP== $$BUF
13757 147422 SWTDEP== $$BUF
13758 147422 BUFCLR==$$BUF
13759
13760 .IF2
13761 000114 .IFL $$BUF-PATEND
13762 .PRINT \BUFFER STORAGE OVERLAPS LITERAL STORAGE, FLUSH SOMETHING!
13763 \
13764 INFORM OVERLAP,\PATEND-$$BUF
13765 .IFF
13766 INFORM FREE LITERAL/BUFFER SPACE,\$$BUF-PATEND
13767 .IF P2
13768 .PRINT \FREE LITERAL/BUFFER SPACE=114
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 402
SBST11 PAL[KL,SYS] Page 9.1 *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13769 \
13770 .ENDC
13771 .ENDC
13772 .ENDC
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 403
KLDCP PAL[KL,SYS] Page 5.11 *STORE* PROGRAM STORAGE FILE, 5-AUG-75
13773
13774 100010 .END $ILOAD ;initial startup in SUB11
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 404
KLDCP PAL[KL,SYS] Page 5 ***Symbol Table***
ADH 000000 ERR11S 000002 DEXWD1 000006 EBUSPC 000020
PR0 000000 VBIT 000002 CLRMR 000006 INHPAG 000020
DLRDS 000000 BIT1 000002 QENBCC 000006 IOTVEC 000020
XEPT 000000 OPRSEL 000002 DLXBUF 000006 BIT04 000020
APR 000000 TCRNUM 000002 QENWC 000006 BPARER 000020
DLTDS 000000 DLRBUF 000002 CONSO 000007 BIT4 000020
STPCLK 000000 BIT01 000002 SETMR 000007 TBIT 000020
QCHN 000000 QSIZ 000002 BELL 000007 CDD 000020
RESVED 000000 DLDTR 000002 NBIT 000010 XON 000021
QNOPMS 000000 BLKO 000002 DLSTD 000010 CNTRLR 000022
BLKI 000000 DEXWD3 000002 BIT03 000010 TO11AD 000022
TEXTER 000000 QECHRQ 000002 PAG 000010 XOFF 000023
AC 000000 TO11ER 000002 $NB 000010 CNTRLT 000024
DLRCSR 000000 DATAO 000003 DIKL10 000010 TO10DT 000024
DLYCNT 000000 CNTRLC 000003 INTROF 000010 PWRVEC 000024
XR 000000 SECLK 000003 CLRRUN 000010 CNTRLU 000025
I 000000 QENPKT 000003 VEC03 000010 TO11DT 000026
NULL 000000 QENADR 000004 WEP 000010 ETB 000027
ADL 000000 BIT02 000004 RESVEC 000010 DIAG1 000030
TO10BM 000001 DEXDON 000004 MODDVC 000010 MSWCHR 000030
DVSASB 000001 BIT2 000004 BIT3 000010 CNTRLX 000030
MMPIE 000001 ZBIT 000004 TENAD1 000010 EMTVEC 000030
STRCLK 000001 DLRTS 000004 RM 000010 DIAG2 000032
DCSRT 000001 PI 000004 TAB 000011 CNTRLZ 000032
DATAI 000001 DTEMAX 000004 CNTRLI 000011 ALTMOD 000033
DLASB 000001 VEC02 000004 SETRUN 000011 STATUS 000034
BIT0 000001 TCRDAT 000004 CONBUT 000012 TRAPVE 000034
DTEDEF 000001 DLXCSR 000004 LF 000012 DIAG3 000036
TCASB 000001 INHCSH 000004 TENAD2 000012 PR1 000040
QECHRY 000001 ERRVEC 000004 CNTRLK 000013 INTRON 000040
TCDO 000001 EBUSPS 000004 VT 000013 DTESIZ 000040
CHAIN 000001 QREQ 000004 TRTVEC 000014 TXTINH 000040
DLBRK 000001 CECLK 000004 TCWDAT 000014 SPACE 000040
KLDCP 000001 CNTRLD 000004 IRLOAD 000014 D1011 000040
INTSON 000001 DLMAIN 000004 TO10BC 000014 BIT5 000040
DTEASB 000001 MMWWP 000004 CNTRLL 000014 DLDIE 000040
SYN 000001 DSEND 000004 CCA 000014 SCD 000040
KWASB 000001 DURE 000004 TBITVE 000014 BLANK 000040
CBIT 000001 DEXWD2 000004 BPTVEC 000014 BIT05 000040
DCOMST 000001 CONO 000004 FF 000014 NULSTP 000040
DLRE 000001 MMADDS 000005 DRLTCH 000015 LDBRR 000042
ERR11C 000001 CONI 000005 CR 000015 LDBRL 000043
BIT00 000001 QDTMSG 000005 TO11BC 000016 LDSEL 000044
CNTRLA 000001 DTESZS 000005 CNTRLO 000017 LDDIS 000045
NUPE 000002 BRCLK 000005 VEC04 000020 LDCHK1 000046
SSCLK 000002 QHDRSZ 000006 TO10AD 000020 LDCHK2 000047
CNUPE 000002 CONSZ 000006 DUPE 000020 LCRDAR 000051
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 405
KLDCP PAL[KL,SYS] Page 5 ***Symbol Table***
LCRDAL 000052 DPBRX 000124 INT10S 000400 PMVER 003012
LCRAM5 000053 DPARX 000125 BIT8 000400 PTABLE 003020
LCRAM4 000054 DPADX 000126 BIT08 000400 RXCOPY 003020
COMMA 000054 DPAD 000127 TO10DB 000400 DTCOPY 003022
LCRAM3 000055 DPSC 000130 $STD 000440 WFILE 003024
LCRAM2 000056 DPSC1 000131 $DDT 000441 TAPT 003026
LCRAM1 000057 DPFE 000132 $STL 000442 DSKDIR 003030
SLASH 000057 DPFE1 000133 $STM 000443 REMOTE 003032
TKVEC 000060 DRAMAB 000133 $DTFLG 000444 BIT11 004000
LDRAM1 000060 BKSLH 000134 $DTCLK 000445 DLRA 004000
DLRIV 000060 DRJ1.4 000134 $DTTIM 000446 PRTOFF 004000
PULSE 000060 DRJ710 000135 $DTT11 000447 TCREV 004000
LDRAM2 000061 BKARW 000137 $DTF11 000450 ERRSTP 004000
LDRAM3 000062 PR3 000140 $DTCMD 000451 PNTLPT 004000
LDRJEV 000063 RCSPEC 000141 $DTSEQ 000452 INT11S 004000
DLTIV 000064 RCRAM4 000144 $DTOPR 000453 TCSELE 004000
TPVEC 000064 RCRAM3 000145 EN0BSZ 000454 DS04 004000
LDRJOD 000064 RCRAM2 000146 $DTCHR 000454 TO11DB 004000
DISIOJ 000065 RCRAM1 000147 $DTMTD 000455 MMADDM 007740
DISACF 000066 DPPC 000153 $DTMTI 000456 DLRDPE 010000
ENIOJA 000067 DPADB 000153 $DTSWR 000457 BIT12 010000
LDCHAN 000070 DPVMA 000157 $DTQMP 000460 RFMAD3 010000
LDMBXA 000071 DPVMHD 000157 HRLZI 000515 DEP 010000
LDAR 000077 DPERG 000167 HRRI 000541 RAMIS0 010000
BIT6 000100 RUBOUT 000177 DTEIV3 000760 TCILO 010000
DLTIE 000100 DLRD 000200 DTEIV2 000764 NOPNT 010000
DLRIE 000100 PR4 000200 DTEIV1 000770 ERR10C 010000
TO11 000100 TO11DN 000200 DTEIV0 000774 DLCD 010000
PR2 000100 DTE 000200 D11MPE 001000 DS03 010000
KWLIV 000100 DON11S 000200 BIT09 001000 TO11BM 020000
DON11C 000100 BIT07 000200 PERCLR 001000 BIT13 020000
READ0 000100 TO10 000200 BIT9 001000 DS02 020000
DRESET 000100 DFUNC 000200 TCDATM 001000 DLCTS 020000
TCIE 000100 DLTR 000200 DS06 001000 DLFE 020000
EBSEL 000100 PALERS 000200 LOOPER 001000 EXVIRT 020000
KWLKE 000100 BIT7 000200 HALTLP 001000 BYTE2 020000
BIT06 000100 TCRDY 000200 DING 002000 ERR10S 020000
RELIAB 000100 TC11 000214 TCBLKM 002000 TCMTE 020000
READ1 000101 PR5 000240 KLRUN 002000 TOTALS 020000
READ2 000102 JRST 000254 DLSRD 002000 RFMAD2 020000
READ3 000103 TA11 000260 DS05 002000 TO10ER 020000
DPFMA 000114 PR6 000300 DXWRD1 002000 UPECD 037000
MMLPIV 000114 PR7 000340 BIT10 002000 RSTART 040000
DPAR 000120 DLRDM 000377 INT11C 002000 CAB08 040000
DPBR 000121 DLTDM 000377 TOUTBF 003000 EDONES 040000
DPMQ 000122 ERSTOP 000400 PID 003004 DON10C 040000
DPFM 000123 DEX 000400 PDVER 003010 TCPAR 040000
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 406
KLDCP PAL[KL,SYS] Page 5 ***Symbol Table***
XUPT 040000 TTCOCT 104010 RCRAM 104074 PLPT 104153
BIT14 040000 TTIDEC 104011 WWADR 104075 PLDBUF 104154
DLORE 040000 TTIYES 104012 MRESET 104076 R50UPK 104155
DLRI 040000 TTALTM 104013 TENSP 104077 DTINIT 104156
RFMAD1 040000 TTI36 104014 SM 104100 RPINIT 104157
ZSTOP 040000 TTIBRK 104015 EXCT 104101 DVDATA 104160
DS01 040000 TTISDL 104016 LODAR 104102 DTREAD 104161
USEVIR 060000 TTISDO 104017 EXAM 104103 RPREAD 104162
TCSOFT 063000 TTIS36 104020 EXAMT 104104 DVFRAM 104163
PHYS 100000 TTICRA 104021 DPOS 104105 DVWRD 104164
DLDSC 100000 TTITRM 104022 DPOST 104106 ASCR50 104165
ABORT 100000 TTBTRM 104023 DPOSVR 104107 RPLOAD 104166
MMERRF 100000 PNTAL 104024 DPOSVT 104110 RPFIND 104167
BIT15 100000 $PMSG 104025 D10MON 104111 RPLKUP 104170
SWSLFT 100000 $PMSGR 104026 D10ZRO 104112 RPRDFL 104171
PRGSRT 100000 PNTCHR 104027 DTEBAS 104113 RPWRFL 104172
TO10DN 100000 PNTNBR 104030 DFXCT 104114 RPWRIT 104173
DLERR 100000 PCRLF 104031 DFXCTT 104115 RPADDR 104174
DON10S 100000 PSPACE 104032 DFRD 104116 RPBASE 104175
RFMAD0 100000 PSLASH 104033 DFRDMV 104117 TENCHR 104176
INT10 100000 PCOMMA 104034 DFWRT 104120 PNTBAK 104177
TCERR 100000 PNTOCT 104035 DFWIR 104121 TTOCTE 104200
DS00 100000 PNTOCS 104036 DFSCLK 104122 TTERM 104201
$DIASX 101612 PNTDEC 104037 DFPC 104123 CLKPRM 104202
IFILX 101714 PNT18 104040 DFVMA 104124 MICNUL 104203
ALLEX1 102276 PNT22 104041 DFADB 104125 MICFIL 104204
$ALLMQ 102306 PNT23 104041 RDRAM 104126 DTWRT 104205
$ALLFM 102324 PNT36 104042 WDRAM 104127 NAMEXT 104206
$ALLAR 102414 PFORCE 104043 DRAMAD 104130 DTAFIL 104207
$ALARX 102430 PNORML 104044 BURST 104131 RPFILE 104210
$ALLAD 102464 PBELL 104045 PNTCPU 104132 DTRDFL 104211
$ALADX 102500 PNTODC 104046 PRGCMD 104133 DTWTFL 104212
$ALLBR 102526 PNTODT 104047 PNT36B 104134 DTBASE 104213
$ALBRX 102542 REGSAV 104050 ECLOK 104135 PNTCI 104214
$ALLPC 102642 REGRST 104051 ESYNC 104136 PNTRST 104215
$ALVMA 102760 CMPR36 104052 PNTADR 104137 PRGNPT 104216
$ALVMH 102776 SHIFTR 104053 DFRDT 104140 TTPINI 104217
$ALPCF 103024 SHIFTL 104054 DFWRTT 104141 TTILNW 104224
$ALLPI 103420 SETFLG 104055 PNTCRM 104142 TTICCL 104225
FATAL 104000 TDELAY 104056 PNTDRM 104143 DFLEGA 104226
ERRHLT 104001 SWITCH 104057 TTBACK 104144 PTAB 104227
PRGHLT 104002 SWTSAM 104060 TENSW 104145 RXFILE 104230
RUNLP 104003 EOP 104061 PROL36 104146 RXINIT 104231
TTILIN 104004 ERREOP 104062 SETMPH 104147 RXRDFL 104232
TTICHR 104005 EOPSET 104063 DFVMAH 104150 RXWTFL 104233
TTLOOK 104006 MULTPY 104072 PRINTT 104151 RXBASE 104234
TTIOCT 104007 WCRAM 104073 PTTY 104152 RXREAD 104235
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 407
KLDCP PAL[KL,SYS] Page 5 ***Symbol Table***
RXWRT 104236 DTEADR 174400 $RPT 100456 .VMH 102774
RPERRO 104237 TCST 177340 $CMDER 100574 .ADB 103006
SIPNT 104466 TCCM 177342 $$CNTL 100602 .PCF 103022
.CSR 104646 TCCM1 177343 $$$CC 100624 PCF 103106
$$ST 106006 TCWC 177344 $KDCRE 100674 PCFTBL 103214
$$$ST 106204 TCBA 177346 $KDCEN 101140 .FE 103302
$TCX 112076 TCDT 177350 $DISPH 101142 $ALLFE 103304
DIARNL 112262 KWLKS 177546 .RPT 101410 .SC 103316
DIAEOF 112362 TTICSR 177560 .RPTX 101414 $ALLSC 103320
$P18X 117162 DLBA 177560 .RPTP 101422 FESCP 103330
$P23X 117166 TTIDBR 177562 $PRGNP 101444 .PI 103414
$$PEX2 117730 TTOCSR 177564 $PRGCM 101452 $ALPIG 103452
$$PSX2 117734 TTODBR 177566 $PRGXX 101456 $ALPIY 103462
$TILN1 120172 SWR 177570 PCMDE 101526 $ALPIX 103472
$TILN2 120222 STKLMT 177774 PCMDE1 101546 $ALPIH 103504
$$PEX4 122442 PS 177776 PCMDE3 101552 $ALPIO 103536
$EMTAE 123610 START 100000 PCMDE2 101572 .ALL 103550
$ALLEC 126274 $CNTLC 100004 $PCMDX 101606 $PNTCP 103600
$DDSIZ 127164 $ILOAD 100010 $TTICC 101636 $SP 103750
$$$NAM 131076 $CONSL 100014 IFILIN 101666 $RN 104000
$LLD2 132744 $TKS 100020 IFILX1 101724 $RNN 104002
$LRDIN 133200 $TKB 100022 JFILIN 101730 $RNX 104106
LD10VE 133252 $TPS 100024 IJFILX 101772 $DDTX 104112
$DTDI2 133636 $TPB 100026 .DFXCT 102014 $DDTER 104214
DAHLP 140316 $FSTKS 100030 .DFWRT 102032 $SI 104220
DAHLPD 140400 $FSTKB 100032 .DFX 102064 $DFLEG 104276
DADONE 140474 $FSTPS 100034 .FS 102070 .PL 104320
$$CLC 141110 $FSTPB 100036 $DFERR 102102 .PLX 104360
$$LITT 144720 $FSTRV 100040 .DFRD 102112 .SM 104364
$$ZZQ 145200 $FSTTV 100042 .DFDP 102236 .CI 104374
$$CLIT 147306 $CLKMD 100044 .DFDPC 102254 .CIF 104400
$$$FF 147306 $CLKHM 100046 ALLEXT 102262 .CF 104412
VFUDAT 151172 $CLKSE 100050 .MQ 102304 $$CI 104420
$ILDCL 152226 $CLKST 100052 .FM 102320 $$CF 104425
COREND 160000 $CLKTV 100054 $DPERR 102374 .XCT 104432
ENOWC 160020 TENMO 100056 .AR 102400 .XCT2 104540
ENOWA 160022 TDIAG 100064 .AD 102442 .XCT1 104544
ENOCSR 160024 TDDT 100070 .BR 102512 .XCTER 104566
ENODLY 160026 TLDR 100074 .ERG 102554 .CNSER 104576
ENIWC 160030 TMON 100100 $ALLEB 102570 .BU 104602
ENIWA 160032 EMTIMO 100104 .MRESE 102602 .CS 104632
ENICSR 160034 CONSL 100106 .DA 102610 .CCMN1 104704
ENIADR 160036 KONSL 100134 .DAX 102622 .CCMN 104710
MMLPBA 172100 $KONSL 100230 .PC 102626 .CSRER 104736
MMLPEA 172136 $$CONS 100332 PCVMAP 102714 .CR 104742
XORCR 174200 $KONS1 100364 .VM 102732 .PD 104774
XORSR 174202 $KONS2 100422 $DPER1 102770 $PEAR 105006
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 408
KLDCP PAL[KL,SYS] Page 5 ***Symbol Table***
$PEFM 105017 MTTYCF 107356 C10CER 111140 $JC 113232
$PECR 105033 $MC 107364 C10C4 111154 SRT11X 113242
$PEDR 105051 MTTYS 107406 C10XXX 111336 SRT11 113250
$PEFS 105067 TENCMD 107416 C10C5 111342 SRT10 113324
.PE 105102 CMD10T 107466 C10CR1 111544 $COMNT 113344
.MU 105232 C10DON 107526 C10C6 111550 ADRERR 113350
.MM 105240 C10DNX 107552 RDCLK 111600 $PARA 113356
.MMC 105242 TENCER 107566 TCUINT 111760 $CMDE 113364
.MMX 105276 TENDEA 107710 $TENSW 111762 COMNER 113370
.MT 105312 $$TDX 107726 $TENCH 112106 .RI 113374
.CE 105400 $ALSTA 107732 P10CMD 112144 $TP 113404
.CEP 105532 C10TO 107772 DIASEL 112156 $TW 113412
.AC 105544 C10TI 110020 DIAFND 112226 $TPW 113416
DATPAG 105770 C10TIX 110056 $DIAFX 112230 $TPWF 113430
$ST 105776 C10TIE 110100 DIANF 112234 $TF 113434
$STERR 106242 C10TIZ 110106 DIARD 112242 $DECN 113452
$STTB1 106246 C10PNT 110146 .SE 112402 $OCTN 113452
.CNERR 106272 C10X 110164 .EE 112450 $FILPL 113452
.DP 106276 C10SW 110170 .EB 112456 $PARAM 113452
.DPNX1 106314 C10SWT 110204 .EEB 112460 FSRINT 113456
.DPCOM 106316 C10SW1 110214 .ZE 112632 FSINT1 113476
$VBX 106332 C10SW2 110222 .DE 112652 FSXIT 113526
.DPCM1 106336 C10SW0 110226 .DB 112660 FSINT2 113534
.DPNX 106346 C10SWE 110270 .DEB 112662 FSINT3 113616
.DPS 106362 $$C1 110274 $$PARA 112742 FSINT4 113626
$TENRN 106366 $SW 110300 $$CMDE 112746 FSXITA 113714
$VB 106404 C10DDT 110344 $VERIF 112752 FSIN4R 113716
$VB1 106426 C10PRG 110406 $LDT 112766 FSIN4D 113734
$KA 106440 C10PT 110422 $LDE 112776 FSIN4E 113770
.MZ 106450 C10P2 110462 $LDR 113006 FSIN4W 114022
.EXM 106622 C10P1 110466 $LDB 113016 HANGUP 114032
.EXCOM 106666 C10X1 110472 $LDD 113026 HANGU1 114040
.EXMSP 106770 C10P3 110476 $PROG 113036 FSHNG1 114110
.EXMNX 107004 C10P4 110504 $PROG2 113042 FSINT5 114120
.EXMN1 107016 C10P5 110510 $PROG1 113046 FSIN5A 114142
$RUNLP 107030 C10KAS 110530 $JFILE 113064 FSTINT 114160
MTTYIN 107200 KASET 110540 $IFILE 113104 FSTYP 114200
MTTYI0 107212 C10CLK 110574 $IIX 113112 FSTYP1 114216
MTTYI1 107222 C10CPT 110610 $HELP 113132 FSTYP2 114244
C10DN1 107260 C10C0 110630 $HELP1 113144 FSCLKR 114254
C10DN2 107266 C10CX 110634 $DT 113150 FSMSG 114424
MTTYER 107276 C10C3 110640 $RXX 113176 FSLOSM 114462
MTTYOC 107302 C10BCR 110654 $DTX 113202 PWORD 114474
MTTYO 107324 C10C1 110660 $DTC 113206 $HU 114500
MTTYP 107342 C10CX1 110664 $GO 113212 $$ILOA 114522
MTTYX 107346 C10C2 110714 $$GO 113216 $SBRIN 114570
MTTYC 107350 C10COP 110742 LDSTRT 113226 NOPAR 115154
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 409
KLDCP PAL[KL,SYS] Page 5 ***Symbol Table***
$CMCLR 115156 $PNTOS 117374 $TI36C 122044 $DPOST 124234
$CKSUM 115174 $PNTO 117376 $MULTP 122060 $DPOS 124240
$EOP 115220 $PNTDE 117476 $TTIBR 122166 $DPOSX 124246
$EOPSE 115220 $$PEX1 117616 $$PEX5 122176 $DPSX1 124304
$ERREO 115220 $TTICH 117622 $TTSDL 122202 $EXAMT 124314
$PRGHL 115222 $TTIX1 117644 $TTSDX 122322 $EXAM 124322
$ERRHL 115232 $TTIX2 117652 $TTITR 122326 $EXAMX 124334
$PH2 115256 $TTLOO 117654 $TTBTR 122332 $EXDEP 124344
$PH1 115262 $TTALT 117702 $TTERM 122340 $$CLRF 125064
.HC 115466 $TTIYE 117746 TRMTAB 122400 $D10AD 125072
$PNTAL 115522 $PNTSP 117776 $TTCOC 122410 $EBPAR 125116
$PNTNB 115614 $TTBAC 120010 $TOCTE 122422 $DPSVT 125144
$PNTCH 115624 $SWITC 120026 $TTSDO 122434 $DPOSV 125150
$$PNTX 115630 $SWTSA 120040 $TTS36 122446 $DPVRY 125210
$PSPAC 115634 $PFORC 120046 $TICRA 122460 $DPVRX 125212
$PSLAS 115642 $PNORM 120054 $SHFTR 122474 $DPVRP 125220
$PCOMM 115650 $$PEX3 120060 $SHFTX 122506 $DPVRE 125232
$PTAB 115656 $TILRN 120064 $SHFTL 122512 $DPVRV 125242
$PLDBU 115664 $TILN3 120106 $$PMSR 122526 $CMP36 125316
$PNTBA 115770 $TTILN 120142 $$PMSG 122534 $10ADR 125352
$TTPIN 116006 $TTILI 120150 $PNTCI 122544 $SM 125400
$PNTRS 116022 $TILNX 120154 $DELAY 122564 $SMERR 125456
$PRINT 116040 $TIRUB 120374 .TD 122600 $SMTAB 125462
$PTTY 116174 $TICU 120442 $REGSA 122630 $XCT 125474
$PTTY1 116516 $TICR 120454 $REGRS 122644 $ECLOK 125544
$PTTY2 116532 $TIBEL 120462 $FATLE 122702 $TENSP 125616
$PTTYC 116546 $TIEXT 120464 $TIMOT 122712 CLKSTA 125746
$PTCO 116734 $TIALT 120506 $RESVD 122722 CLKINT 126054
$PCRLF 116742 $TIBKS 120520 $EOR 122730 $EC 126244
$PBELL 116750 $TICC 120524 $STUF 122754 $ECGET 126452
$PODT 116760 $TICL 120534 $NOTAS 123000 $PCRAM 126502
$PNTOD 116772 $TILF 120550 $EOR2 123004 $DCTPC 126522
$PODCD 117040 $TICO 120556 $FATAL 123014 $DCTP1 126526
$PADR 117046 $TICX 120570 $EMTRP 123024 $NEXT 126574
$$P23 117072 TILINC 120612 $EMTAD 123110 $END 126610
$PNT18 117114 TILINA 120632 $ESYNC 123610 $RC 126660
$PNT23 117130 $TIRDY 120670 $PWRDN 123616 $RCP 127010
$P23Y 117134 $TORDY 120776 $ILLUP 123624 $$ECA 127026
$P36B 117144 $TOOUT 121040 $PWRUP 123630 $DDNPR 127042
$PNT36 117154 $TTIOC 121074 $EXITE 124036 $DD 127046
$P36BX 117160 $$PEX6 121160 $SETFL 124046 $DRAMO 127210
$$PEX 117220 $$PEX7 121164 $EXITS 124056 $DDA 127434
$PRT36 117224 $TMINU 121170 $EXIT 124064 $DDB 127450
$P36MV 117306 $TTIDE 121232 MEMPE 124100 $EDNOA 127464
$PODMV 117326 $TTI36 121344 $D10ZR 124144 $EDODD 127470
$PROL3 117346 SHFT36 121766 $D10ZX 124200 $ED 127474
$PNTOC 117366 NEG36 122010 $D10MO 124204 $PDRAM 127600
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 410
KLDCP PAL[KL,SYS] Page 5 ***Symbol Table***
$DCNCL 127732 LDELVN 131776 $DTXF3 134610 $QUEUE 137502
$DC 127736 LD11DN 132230 DTSRA 134710 QMPINI 137542
$CRMD0 130062 LDBIN 132242 DTSRE 134726 $RLCB 137722
$FJ 130160 LDBIN1 132244 DTSRF 134750 $RQCB 140046
$FT 130174 LDBIN2 132302 $DTXF4 134756 $SAVAL 140200
$FAR 130200 LDBINE 132320 DTER 135000 $SAVRG 140242
$FAD 130210 $LDBNE 132324 DTERA 135014 $SAVVR 140266
$FBR 130224 LDBIN3 132330 DTERB 135034 ACTLD2 140312
$FMQ 130230 LJMP 132432 DTERC 135044 ACTDON 140474
$FFM 130232 LDDRAM 132452 DTHDER 135054 $$C2 140516
$FSCAD 130236 LDCZRO 132610 DTREV 135066 ACTLDC 140522
$FSC 130250 LDCRAM 132642 DTREVC 135074 ACTBCK 140530
$FFE 130252 LDTEN 133052 DATINT 135114 ACTLDF 140536
$FSH 130254 LDTENZ 133076 $ASCR5 135124 ACTERR 140542
$FNUM 130260 LDRDIN 133150 LDBOOT 135266 IFILEP 140560
$FVMA 130272 LD10VR 133246 LDBLD2 135404 DTEINI 140620
$FMEM 130276 LD10V 133312 LDBDAT 135410 $PAGDF 140722
$FCOND 130304 LD10ER 133332 LDBXFR 135460 $STJRS 140730
DVLOAD 130314 DEVFIL 133350 $DS 135474 $DTEBA 140736
DEFEXT 130644 DTFIL 133402 DSVER 135666 $DFRDT 140746
$NAMEX 130700 $DTAFI 133430 ENOINT 135676 $DFRD 140760
$$NAM 131106 DTAFL1 133432 SNDEN 136010 $DFXX 141000
DTRPLD 131124 $DTDI1 133654 SNDENR 136016 $DFTIM 141044
LLD1 131140 $DI 133726 ENIINT 136102 $DFTMX 141070
LLD2 131150 $DTDIR 133746 ENISET 136270 $ECTIM 141100
LLD3 131160 $DVFRA 133772 ENICOP 136314 $DFTM1 141104
LLD4 131170 $DVDAT 134032 DTEINT 136356 $DXCTT 141114
LLDONE 131244 DVEOF 134066 DTE10D 136444 $DFSCL 141130
LDPROC 131306 $DVWRD 134110 DTE11D 136516 $DFXCT 141144
LDPRO1 131376 $DTINI 134134 REQLST 136574 $$DFX1 141210
LDPRO2 131446 $$DVX 134142 T11MSE 136612 $DFXFS 141250
LDPRO3 131452 $NONXF 134146 $DTNOP 136634 $KLCK1 141266
LDCLR 131470 $R50UP 134170 $ECHRY 136634 $$DFXD 141302
LDCNV 131474 $$$DVX 134366 $11ECH 136642 $KLCK3 141302
LDOCT 131574 $DTRDF 134370 $11ETH 136660 $KLCK4 141336
LDERR 131602 $$DTXE 134376 $11ADR 136676 $KLCK2 141340
LDEOL 131606 $DTRFL 134402 $ENBCC 136740 FFDEP 141356
LDCKSM 131610 $$DTX 134434 QGIVE 136766 $DFWIR 141360
LDTYPE 131654 $$DTXC 134440 QGET 137006 $DFWRT 141400
LDLTR 131672 $DTWTF 134444 QMPCMD 137034 $DFRDM 141570
$$LD11 131701 $DTINF 134466 $99 137044 $DWRTT 141620
$$COR 131715 $DTBAS 134472 QMPRY1 137110 LLIST 141640
$$ACT 131722 $DTREA 134500 QMPCXT 137162 $MRESE 141656
$$RAM 131727 $DTWRT 134506 QMPRTY 137170 $WWADR 142122
$$TEN 131745 $DTXFR 134512 SND10 137216 WRLIST 142250
$LINER 131762 $DTXF1 134524 QINI 137370 $WCRAM 142254
LDDONE 131772 $DTXF2 134576 $QCLR 137466 $STRCH 142422
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 411
KLDCP PAL[KL,SYS] Page 5 ***Symbol Table***
$SPCMR 142506 R4 000004R BUFCLR 147422H $PCSAV 147656H
$SMRLS 142554 R5 000005R SWTDEP 147422H KASIM 147660H
$RCRAM 142564 SP 000006R $TADSP 147424H $TTYTI 147662H
$RDLST 143040 R6 000006R CLKCNT 147426H MTTYOF 147664H
$SQASH 143044 PC 000007R C10CW 147434H MONMOD 147666H
$MICNU 143132 RXASB 000000U TENAC0 147442H TENRUN 147670H
FLST 143212 PCKASB 000000U TENDAT 147446H $TEMP0 147672H
$MICFI 143220 MONASB 000000U KLCLKR 147454H L10ADR 147700H
$WDRAM 143270 UTLASB 000000U $STDAT 147456H .DPXAD 147704H
$RDRAM 143340 LPTASB 000000U $DDRMS 147460H .DFRDA 147710H
$DRAMA 143510 RPASB 000000U $DRAM 147462H $ADR1 147716H
WIRAR 143620 %%EOP 000000U RDRTMP 147476H $ADR 147720H
WIRAR1 143624 DVASB 000000U DDRAM 147502H $EDADR 147722H
DATCOM 143634 LPASB 000000U SIGNL3 147510H $ECADR 147724H
DATODD 143646 DTEBBD 000000U SIGNL2 147512H .EADR 147726H
DATEVE 143662 TAASB 000000U $BUFRC 147514H VERIFY 147730H
CON1 143674 FSCASB 000000U SIGNL 147530H RPTFLG 147732H
CON2 143716 BPTASB 000000U WREADY 147532H ALLFLG 147734H
$CLKPR 143732 DHASB 000000U MMDAT 147540H $KONSP 147736H
$BURST 143742 MCNVER 000000H XXDAT 147546H DDTFLG 147740H
$LODAR 144132 %%DDT 000001H VMADAT 147550H $TOCHR 147742H
$SETMP 144226 $$BARG 000001H ZEROS 147556H $TICHR 147744H
$STMTB 144256 CLKASB 000001H VRBFLG 147564H $SVM 147746H
$STMT1 144262 TELASB 000001H $SAV20 147566H $SVH 147750H
$MBPHS 144266 EPTREL 000001H $ECMD 147574H $NEG 147752H
$DFVMH 144432 BOOASB 000001H DDTTM2 147602H $0FLG 147754H
$DFPC 144440 %%QMP 000001H DDTTM1 147604H $TTYFL 147756H
$DFPC1 144444 PWLEN 000004H .HCADR 147606H $FORCE 147760H
$DFVMA 144456 SAILVR 000007H .HCFLG 147610H TILNWF 147762H
$DFADB 144464 DECVER 000010H MEMPEF 147612H $TTLKF 147764H
$VMPC1 144470 QENMSG 000010H PRGRUN 147614H $EOLFL 147766H
$VMPC 144476 LLISTL 000012H JFINP 147616H CTRLOF 147770H
$DTBL0 144636 FSRLEN 000012H JFILEF 147620H $XOFLG 147772H
$LF 144636 REQMAX 000016H IFINP 147622H $TPLIT 147774H
$CR 144637 CPUPR 000140H IFILEF 147624H $TPLIN 147776H
$BELL 144640 BOOTWD 000620H TEMP 147626H $PGWID 150000H
$DTBL1 144642 XMEMSZ 001000H $$SVSP 147630H $PRNTH 150002H
$LFTBL 144650 BOOTSZ 002260H $SWTCH 147632H $TTSAV 150004H
$CRTBL 144656 FREEAD 003000H $EMADR 147634H $TTYIN 150020H
$BELLT 144664 FREESZ 020000H $R0SAV 147636H TENTTY 150022H
$DTBL 144672 FREEND 023000H $R1SAV 147640H $TNCHR 150024H
$TBLL 144704 %DDTS 077766H $R2SAV 147642H $TNBUF 150032H
$$FF 144716 CONSOL 100000H $R3SAV 147644H $TNPTC 150250H
R0 000000R $RP 100574H $R4SAV 147646H $TNPTR 150252H
R1 000001R RPFIL 100574H $R5SAV 147650H $OUTBF 150254H
R2 000002R PATEND 147306H $SPSAV 147652H $OUTPP 150472H
R3 000003R $$BUF 147422H $PSSAV 147654H $OUTPT 150474H
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 412
KLDCP PAL[KL,SYS] Page 5 ***Symbol Table***
$OUTPC 150476H $PASS 152174H TIMADR 157144H .DIAG3 157356H
$INBUF 150500H $ERFLG 152176H TIMTMP 157152H $$STKM 157360H
$INPTC 150716H $ERTTL 152200H CLKFLG 157160H STACK 157776H
$INPTR 150720H $ERRPC 152202H KTIMBS 157162H FUQ 000000H
HLPPNT 150722H $EOPCT 152204H TIMBAS 157164H
DEVLC 150724H $ENDCT 152206H TIM11 157172H
SRTFLG 150726H $ITERA 152210H SEADR 157200H
LDZBLK 150730H PCMDNF 152212H PGOCTL 157202H
LDOVRD 150732H PCMDFL 152214H PGOADR 157204H
LDCNTL 150734H TENCLK 152216H TGOADR 157210H
LDOCTF 150736H TENSWD 152220H $MPHDF 157214H
LDCNT 150740H MONCTL 152222H $MPHMK 157216H
LDADR 150742H $SWMON 152224H $STODD 157220H
LDATA 150744H FSRTIM 152226H $$STJR 157222H
LDATAE 151050H FSCLKA 152234H $$SWR 157230H
DTBLK 151052H FSFLG 152236H $SWS10 157232H
CASAV 151054H FSRPTR 152240H SWS10 157240H
WCSAV 151056H FSRBUF 152242H CLKDFL 157246H
DTXCMD 151060H FSTYPR 152254H PAGDFL 157254H
TRYCTR 151062H FSTPTR 152256H PEBITS 157262H
LBC 151064H FSSTAT 152260H CLKPE 157264H
LTMP 151066H BOOTBG 152262H $BKFLG 157272H
$CKS11 151070H BOOTSA 152266H RPUNIT 157274H
INTSW 151072H BOOTBF 152272H DTUNIT 157276H
REVCNT 151074H ENIHAD 157032H RXUNIT 157300H
NAMRAD 151076H QMPRQS 157034H LPTYPE 157302H
$RPINF 151104H FREEQ 157036H LPTFLG 157304H
WRTBAK 151110H FR10Q 157042H FLOPPY 157306H
RPEOF 151116H ENETQ 157046H DEVTYP 157310H
DIAFLG 151120H TO10Q 157052H $PWRCN 157312H
CDADR 151122H EN0DLY 157056H $ILDSU 157314H
DVDIRF 151124H COUN10 157076H $ONETM 157316H
DVCNT 151126H ENBCCF 157104H .DELAY 157320H
DVADR 151130H EN0IND 157106H .DAT3 157322H
DTSTRT 151132H EN0BUF 157110H .DAT2 157324H
DTLNGT 151134H EN0TRY 157114H .DAT1 157326H
DTEXTS 151136H EN0MEM 157116H .TENA1 157330H
DTEXT 151144H EN0ER2 157120H .TENA2 157332H
DIRST0 151146H EN0PKI 157122H .BC10 157334H
DIRST1 151150H EN0PER 157124H .BC11 157336H
DIRST2 151152H EN0ER1 157126H .T10AD 157340H
DIRST3 151154H EN0PKO 157130H .T11AD 157342H
DIRST4 151156H DTEBCT 157132H .T10DT 157344H
NAMBF 151160H DTEBSY 157134H .T11DT 157346H
EXTBF 151166H T11DBF 157136H .DIAG1 157350H
DVBUF 151172H TMSFLG 157140H .DIAG2 157352H
$CMTAG 152172H TIMFLG 157142H .STDTE 157354H
KLDCP WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10 PALX 251 02/16/82 17:00:01 Page 413
KLDCP PAL[KL,SYS] Page 5 ***Symbol Table***
1.5 Words Average Instruction Length
20 Seconds Runtime
ABORT 192#
AC 12447# 12452
ACTBCK 9870
ACTERR 11976 11980
ACTLD2 5312 11930 12363
ACTLDC 9824
ACTLDF 9858
ADH 3711# 3719 3736# 3744 4186# 4196 4289# 4305# 4307 4324#
4340 4357# 4365 4382# 4390 8503# 8519 8672# 8688# 8690
8707# 8723 12436# 12452
ADL 3712# 3717 3718 3718# 3719 3737# 3742 3743 3743# 3744
4187# 4192 4193 4193# 4194 4195 4195# 4196 4290# 4295
4296 4296# 4297 4298 4298# 4299 4300 4300# 4301 4302
4302# 4303 4304 4304# 4305 4306 4306# 4307 4325# 4330
4331 4331# 4332 4333 4333# 4334 4335 4335# 4336 4337
4337# 4338 4339 4339# 4340 4358# 4363 4364 4364# 4365
4383# 4388 4389 4389# 4390 8504# 8509 8510 8510# 8511
8512 8512# 8513 8514 8514# 8515 8516 8516# 8517 8518
8518# 8519 8673# 8678 8679 8679# 8680 8681 8681# 8682
8683 8683# 8684 8685 8685# 8686 8687 8687# 8688 8689
8689# 8690 8708# 8713 8714 8714# 8715 8716 8716# 8717
8718 8718# 8719 8720 8720# 8721 8722 8722# 8723 12437#
12443 12444 12444# 12452
ADRERR 5597 7821 9086 9202 9214 13058
ALLEX1 2888# 3043 3100
ALLEXT 2874 3440 8958
ALLFLG 2088 2884 3041 3098 3449 3503 3534 4775 4784 8927
9011 13694#
ALTMOD 698# 2039 7113 7123 7300 7340 7782
APR 3707# 3732# 4182# 4285# 4307 4320# 4353# 4378# 8499# 8519
8668# 8690 8703#
ASCR50 311#
BELL 677# 6552 6855 7339
BIT0 624# 781 782 811 845 863 1472 1504 1520 1699
13269 13314
BIT00 623# 624
BIT01 625# 626
BIT02 627# 628
BIT03 629# 630
BIT04 631# 632
BIT05 633# 634
BIT06 636# 637
BIT07 638# 639
BIT08 640# 641
BIT09 643# 644
BIT1 626# 810 826 844 862 1503 1702 8784
BIT10 645# 776 796 827 835 853 1497 1705 8435
BIT11 646# 759 775 797 827 834 852 1496 1697 1703
8441
BIT12 648# 758 774 818 827 833 851 1495 1511 1696
8429 10778
BIT13 649# 755 757 766 767 773 817 827 832 850
1494 1510 1707
BIT14 650# 755 756 765 772 800 816 823 831 1493
1509 1704 10222 12769 12774 13300
BIT15 652# 754 764 771 815 822 830 849 1466 1492
1508 1708 12774
BIT2 628# 783 794 825 843 861 1471 1502 1519 1700
1701 8753 8794 13295
BIT3 630# 784 793 809 842 860 1501 1701 12736
BIT4 632# 779 792 808 824 841 859
BIT5 634# 779 785 807 840 858 1500 4738 4745 4752
4759 13305
BIT6 637# 791 801 839 857 1499 1518 1698
BIT7 639# 778 789 838 856 1498 1517 1709
BIT8 641# 790 837 855
BIT9 644# 777 795 827 836 854 1706
BKARW 683# 6494
BKSLH 682# 6496 7251 7267 7346
BLANK 678# 6657 6709 7566 7730
BLKI 3701# 3726# 4176# 4279# 4314# 4347# 4372# 8493# 8662# 8697#
BLKO 3699# 3724# 3744 4174# 4277# 4312# 4345# 4370# 8491# 8660#
8695#
BOOASB 62# 2407 2479 2581 2628 10857 10873 13594
BOOTBF 10900 10916 10955 13594#
BOOTBG 10882 10883 10911 10952 10953 13596#
BOOTSA 10922 10923 10928 10930 10967 10968 13595#
BOOTSZ 1842# 10893 10901 13594
BOOTWD 1841# 1842 10954
BPARER 859# 8474
BPTASB 2454 2615 6096 6201 6253 6481 13605
BPTVEC 598#
BRCLK 873# 13210 13226
BUFCLR 6232 13758#
BURST 414# 3820 13243 13317 13324
BYTE2 766#
C10BCR 4942
C10C0 4970
C10C1 4971
C10C2 4972
C10C3 4973
C10C4 4975
C10C5 4976
C10C6 4978
C10CER 4979 4994 5022 5042 5055 5070 5088 5093 5104 5138
5149 5160
C10CLK 4695
C10COP 4569 6623 6659 6695 6820 7210
C10CPT 4968
C10CR1 5170
C10CW 5021 5064 13754#
C10CX 4943 4995
C10CX1 5024
C10DDT 4700
C10DN1 4640
C10DN2 4717
C10DNX 4684 4706 4707 4708 4716 4920 4921 4922 4923 4924
4925
C10DON 4650 4795 4812 4834 4929 4946 4987 5014 5117 5347
11427
C10KAS 4919
C10P1 4911
C10P2 4912
C10P3 4913
C10P4 4914
C10P5 4915
C10PNT 4699
C10PRG 4694
C10PT 4908
C10SW 4696
C10SW0 4842 4845 4849
C10SW1 4843
C10SW2 4844
C10SWE 4224 4857 4879 4883
C10SWT 4840
C10TI 4698 4826
C10TIE 4630
C10TIX 4672 4828 4901 5301
C10TIZ 4799 4801
C10TO 4693 4697
C10X 4860 4865 4935
C10XXX 5159 5171
CAB08 823#
CASAV 10659 10671 10695 13648#
CBIT 573# 8285 8417 8476 8575 8578 8581 8612 8759
CCA 3710# 3719 3735# 3744 4185# 4288# 4323# 4356# 4381# 8502#
8671# 8706#
CDADR 13634#
CDD 808#
CECLK 870# 8762 12743 13244
CHAIN 212# 9813
CLKASB 65# 101 1883 4977 5046 5162 6228 12711 13571
CLKCNT 4993 5010 5059 5060 5061 5064 13755#
CLKDFL 3828 3842 3843 3850 3860 3867 4048 4055 4941 6164
10946 12723 13187 13553#
CLKFLG 5005 5006 5032 5034 8249 8250 8252 8276 8823 8834
13568#
CLKINT 8812
CLKPE 3558 3564 3565 3568 3572 3574 13550#
CLKPRM 412#
CLKSTA 6214 8223
CLRMR 871# 12745 12896
CLRRUN 919# 3020 3084 8772 13240
CMD10T 4691
CMPR36 387# 8566 10365
CNTRLA 688#
CNTRLC 689# 4468 6807 7345 8268 10713
CNTRLD 690#
CNTRLI 672# 6653
CNTRLK 691#
CNTRLL 692# 6829 7343
CNTRLO 686# 6816 7348
CNTRLR 693#
CNTRLT 694#
CNTRLU 687# 7344
CNTRLX 695# 6834 7351
CNTRLZ 696#
CNUPE 810#
COMMA 680# 2840 5388 6533 7780
COMNER 5672 5677
CON1 13169
CON2 13165 13175
CONBUT 921# 3033 3094 3582 3629 3771 3801 8729
CONI 3704# 3729# 4179# 4282# 4317# 4350# 4375# 8496# 8665# 8700#
CONO 3703# 3728# 4178# 4281# 4307 4316# 4340 4349# 4365 4374#
8495# 8519 8664# 8690 8699# 8723
CONSL 2764 6311 11951
CONSO 3706# 3731# 4181# 4284# 4319# 4352# 4377# 8498# 8667# 8702#
CONSOL 571 5509 5523 6238 8228
CONSZ 3705# 3730# 4180# 4283# 4318# 4351# 4376# 8497# 8666# 8701#
COREND 79# 6460 13495
COUN10 11490 11501 13586#
CPUPR 665# 1991 6170 6215 8220 8813
CR 676# 2041 2734 6502 6607 6611 6643 6683 7337 7781
CTRLOF 6509 6604 6641 6660 6670 6818 7189 7323 13680#
D1011 785#
D10MON 384# 4621 4636 4714 5068 5343
D10ZRO 385# 4237 4464 4477 10302
D11MPE 854#
DADONE 9960 11962#
DAHLP 9789 11910#
DAHLPD 10572 11936#
DATAI 3702# 3719 3727# 4177# 4280# 4315# 4348# 4373# 8494# 8663#
8698#
DATAO 3700# 3725# 4175# 4196 4278# 4313# 4346# 4371# 4390 8492#
8661# 8696#
DATCOM 13069
DATEVE 13065
DATINT 10724
DATODD 13067
DATPAG 4146
DCOMST 781# 8772 12472 12476 12531 12545 12549 12563 12571 12575
12587 12595 12647 12738 12743 12745 12893 12894 12895 12896
12903 13077 13202 13210 13215 13226 13240 13244
DCSRT 782#
DDRAM 13116 13155 13180 13181 13746#
DDTFLG 2005 4594 4598 4797 4833 4891 13692#
DDTTM1 13732#
DDTTM2 4560 4596 13733#
DECVER 13#
DEFEXT 9572 9573
DEP 758# 8357 8370 8465 12590
DEVFIL 5297 9615
DEVLC 9785 9786 9809 10377 11913 11989 13659#
DEVTYP 2132 5551 10380 10505 13542#
DEX 790#
DEXDON 861# 8396 12637
DEXWD1 726#
DEXWD2 725#
DEXWD3 724#
DFADB 405# 3076
DFLEGA 220# 2795 2805 2822 2834 2875 2901 3003 3045 3071
3417 3443 3497 3599 3655 3684 3814 3844 3995 4013
4094 4199 4451 8893 9018 9077 9204 9296
DFPC 403# 3025 3037
DFRD 393# 3111 3419 3427 8428 12661 12910 13309
DFRDMV 395# 2859 2877 9057 13354
DFRDT 394# 2908 3459 3474 3487 3603 4736 4743 4750 4757
8751 8782 8792 8908 8912 12734 12952 13079 13088 13105
13293 13298 13303
DFSCLK 401# 8750 9042 9043
DFUNC 778# 8772 12472 12531 12545 12563 12571 12587 12595 12647
12738 12743 12745 12893 12894 12895 12896 12903 13077 13202
13210 13215 13226 13240 13244
DFVMA 404# 3058
DFVMAH 406# 3068
DFWIR 399# 13157
DFWRT 397# 2816 12594 12757 12760 12782 12789 12839 13012 13043
13182 13206 13209 13221 13225 13259
DFWRTT 398# 3567 3573 3849 12722 12850
DFXCT 390# 2800
DFXCTT 391# 2824 3019 3022 3028 3030 3032 3083 3086 3089
3091 3093 3577 3579 3581 3628 3639 3770 3800 8633
8728 8730 8761
DHASB 1531
DIAEOF 5341# 11939
DIAFLG 2125 5295 10592 11911 11937 13635#
DIAFND 5279 11915
DIAG1 738#
DIAG2 739#
DIAG3 741#
DIANF 5278 10594
DIARD 4917
DIARNL 5311 5314# 11916
DIASEL 4916
DIKL10 784# 12472 12632 12647
DING 199#
DIRST0 10430 10439 13626#
DIRST1 10431 10443 13625#
DIRST2 10440 10455 10484 10488 13624#
DIRST3 10444 13623#
DIRST4 13622#
DISACF 898#
DISIOJ 897#
DLASB 53# 1478
DLBA 1484#
DLBRK 1520#
DLCD 1495# 5867 5946
DLCTS 1494# 5869 5880 5884 5944 5970 7394 7418 7441
DLDIE 1500# 5941 6224 8237
DLDSC 1492#
DLDTR 1503# 5941 6224 8237
DLERR 1508#
DLFE 1510#
DLMAIN 1519#
DLORE 1509#
DLRA 1496#
DLRBUF 1486#
DLRCSR 1485#
DLRD 1498# 5886
DLRDM 1513#
DLRDPE 1511#
DLRDS 1512#
DLRE 1504#
DLRI 1493# 5857
DLRIE 1499# 5877 5907
DLRIV 1482# 1483
DLRTS 1502# 2058 5928 5941 6219 6224 8234 8237 8858
DLSRD 1497#
DLSTD 1501#
DLTDM 1525#
DLTDS 1524#
DLTIE 1518# 5964
DLTIV 1483#
DLTR 1517#
DLXBUF 1488#
DLXCSR 1487#
DLYCNT 723#
DON10C 831# 11294 12718
DON10S 830#
DON11C 839# 11318 12718
DON11S 838#
DPAD 945# 2953
DPADB 949# 13343
DPADX 944# 2961
DPAR 937# 2931
DPARX 943# 2939
DPBR 938# 2972
DPBRX 942# 2980
DPERG 950# 2992
DPFE 951# 3409
DPFE1 952#
DPFM 940# 2918
DPFMA 941# 2909
DPMQ 939# 2898
DPOS 380# 4405 8557
DPOST 381# 5052 5269 11499
DPOSVR 382# 5148 5158 10323 10960
DPOSVT 383# 4142 4149 4215 4616 4809 4854 4862 4939 4991
5167 5251 5331
DPPC 946# 13337
DPSC 953# 3416
DPSC1 954#
DPVMA 947# 13341
DPVMHD 948# 13335
DRAMAB 891# 13089
DRAMAD 410# 13062 13076
DRESET 801# 12715
DRJ1.4 893# 13106
DRJ710 892# 13080
DRLTCH 918# 13077
DS00 771#
DS01 772#
DS02 773#
DS03 774#
DS04 775#
DS05 776#
DS06 777#
DSEND 783# 12632 12647
DSKDIR 129#
DSVER 10961
DTAFIL 308# 10396 10519
DTAFL1 10476
DTBASE 318#
DTBLK 10658 10681 10699 10746 13649#
DTCOPY 126#
DTE 4270#
DTE10D 11274
DTE11D 11278
DTEADR 712# 12404
DTEASB 49# 708
DTEBAS 389#
DTEBBD 1073
DTEBCT 11482 11484 13575#
DTEBSY 11295 11480 11496 13574#
DTEDEF 50# 717
DTEINI 6283
DTEINT 11610
DTEIV0 746#
DTEIV1 747#
DTEIV2 748#
DTEIV3 749#
DTEMAX 714#
DTER 10722
DTERA 10752
DTERC 10775 10785
DTESIZ 713#
DTESZS 715#
DTEXT 10432 10447 10483 13627#
DTEXTS 10448 10462 10493 13628#
DTFIL 10381
DTHDER 10756
DTINIT 312# 10421
DTLNGT 10435 10497 13629#
DTRDFL 316# 10426 10548
DTREAD 319# 10662
DTREV 10732 10739 10754
DTRPLD 10398
DTSRE 10727
DTSRF 10726
DTSTRT 10434 10469 13630#
DTUNIT 5550 10693 10718 13547#
DTWRT 320# 10674
DTWTFL 317#
DTXCMD 10690 10745 13646#
DUPE 824#
DURE 825#
DVADR 9760 9782 10529 10530 10550 13631#
DVASB 1407
DVBUF 10469 10586 10653 10658 10659 10671 10678 13619# 13620
DVCNT 9759 9781 10523 10531 10551 13632#
DVDATA 315# 9746 9765 10051 10526
DVDIRF 2054 10451 10514 13633#
DVEOF 9748 9767 10527
DVFRAM 330# 10053 10056 10065 10113 10576 10578
DVLOAD 5534
DVSASB 51#
DVWRD 331# 10058 10062 10111
DXWRD1 853#
EBSEL 857#
EBUSPC 841# 8371
EBUSPS 843#
ECLOK 375# 3664 3773 3781
EDONES 800#
EMTIMO 8395
EMTVEC 601# 6204 6215
EN0BSZ 1838# 11160 11205 11523 11525 11531
EN0BUF 11164 11204 11219 11522 11524 13583#
EN0DLY 11119 11628 13587#
EN0ER1 11087 13577#
EN0ER2 11150 13580#
EN0IND 11140 11146 11198 11636 13584#
EN0MEM 11175 13581#
EN0PER 11090 13578#
EN0PKI 11153 13579#
EN0PKO 11073 13576#
EN0TRY 11088 11107 11118 13582#
ENBCCF 11167 11391 11392 11639 13585#
ENETQ 11074 11076 11078 11108 11368 11541 13589#
ENIADR 1836# 11622
ENICOP 11179
ENICSR 1835# 11142 11206
ENIHAD 11382 11622 11623 13593#
ENIINT 11618
ENIOJA 899# 12695
ENISET 11145 11638
ENIWA 1834# 11204
ENIWC 1833# 11143 11205
ENOCSR 1830# 11071 11098 11120 11124
ENODLY 1831# 11119
ENOINT 11616 11620
ENOWA 1829# 11117
ENOWC 1828# 1829 1830 1831 1833 1834 1835 1836 11115
EOP 301# 4934
EOPSET 303#
EPTREL 60# 2001 4615 4620 4635 4676 4713 4808 4853 4861
4938 4990 5018 5051 5067 5084 5134 5166 5250 5268
5330 5342 8373 8556 8559 8574 11498 13756
ERR10C 833# 11294 12718
ERR10S 832#
ERR11C 845# 11318 12718
ERR11S 844#
ERREOP 302# 4932
ERRHLT 217#
ERRSTP 797# 4422 4565
ERRVEC 594# 6197 6245 6248
ERSTOP 202# 6403
ESYNC 376#
ETB 699#
EXAM 378# 4509 5092 5103 8561 10361
EXAMT 379# 4138 4677 5019 5085 5135
EXCT 371# 3614 3685 3755 4147 4228 4240 8388 8639 8788
EXTBF 9574 9575 9580 9694 10461 13620#
EXVIRT 757# 5091 5102 5147 5157
FATAL 216# 6333 6866 6869 8299 8304 11112 11729 11795
FESCP 3410
FF 675#
FFDEP 12633 12634
FLOPPY 5543 10392 10422 10515 10544 13543#
FLST 13014 13042
FR10Q 11319 11321 11445 11535 13590#
FREEAD 11509# 11511 11520 11689 11776
FREEND 11511# 11693 11779
FREEQ 11402 11411 11519 13591#
FREESZ 11510# 11511 11530
FSCASB 11543 11706 11714 11723 11725 11773 11781 13756
FSCLKA 5919 5948 6032 8838 8849 8850 13603#
FSCLKR 5862 5936 5953
FSFLG 5920 5931 7392 7416 7439 8233 13602#
FSHNG1 5935
FSIN4D 5891 5893
FSIN4E 5917
FSIN4R 5895
FSIN4W 5911 5915
FSIN5A 5945 5947
FSINT1 5854
FSINT2 5859
FSINT3 5871
FSINT4 5875
FSINT5 5918
FSLOSM 5923
FSMSG 5872
FSRBUF 5874 5896 5902 5909 5912 13600#
FSRINT 6220
FSRLEN 5847# 5896 13600
FSRPTR 5874 5896 5898 5899 5902 5904 5908 5916 13601#
FSRTIM 6027 8840 8843 8846 13604#
FSSTAT 5853 5859 5871 5875 5918 5930 13597#
FSTINT 6221
FSTPTR 5960 5969 13598#
FSTYP 5873 5924
FSTYP1 5961
FSTYP2 5967
FSTYPR 5966 5975 13599#
FSXIT 5858 5868 5870 5878 5881 5887 5897 5900
FSXITA 5903 5905 5921 5926 5949 5954 5959 5972
HALTLP 795# 3777 3787 8737 8776 13246
HANGU1 2060 5861 5925 5952 6089 8860
HANGUP 5882 5885 5971
HLPPNT 2007 2722 6492 11921 11929 13660#
HRLZI 4268#
HRRI 4267#
I 3695# 3719 3720# 3744 4170# 4196 4273# 4307 4308# 4340
4341# 4365 4366# 4390 8487# 8519 8656# 8690 8691# 8723
12448# 12452
IFILEF 2006 2069 5521 5601 9558 11917 11940 11954 13724#
IFILEP 11919
IFILIN 2071
IFILX 2759# 2778
IFILX1 2754 2781
IFINP 2740 2744 2752 2756 5515 5518 5522 11953 12355 12359
13725#
IJFILX 2743 2755 2776
INHCSH 210#
INHPAG 207#
INT10 764# 11452
INT10S 837# 4627 5071
INT11C 835# 11282 12718
INT11S 834#
INTROF 842#
INTRON 840# 11613 12718
INTSON 863#
INTSW 10706 10723 10744 10751 13641#
IOTVEC 599#
IRLOAD 917# 12595
JFILEF 2021 2072 2148 2757 2780 5513 5591 9552 11945 11947
11949 13726#
JFILIN 2074
JFINP 2771 2777 11950 13727#
JRST 4269# 12452
KASET 4446 4945
KASIM 4625 4948 4951 12710 13710#
KLCLKR 4731 12530 12540 12542 12569 12585 12725 12883 13192 13751#
KLDCP 48# 13421
KLRUN 796# 4561 8381 8420
KONSL 2149
KTIMBS 5116 5128 8814 8853 13567#
KWASB 52# 1449
KWLIV 1453# 8811
KWLKE 1457#
KWLKS 1455# 2064 8824 8825 8827 8828 8833
L10ADR 8331 8520 8525 8620 10284 10345 10371 10876 10951 13704#
LBC 10059 10060 10066 13644#
LCRAM1 902# 12802 13011 13030
LCRAM2 903# 12803 13029
LCRAM3 904# 12804 13028
LCRAM4 905# 12805 13027
LCRAM5 906# 12852 13026
LCRDAL 907# 12781
LCRDAR 908# 12788
LD10ER 10303 10339 10340 10362
LD10V 10322
LD10VE 10341# 10367
LD10VR 10324
LD11DN 10117
LDADR 9970 10045 10125 10208 10221 10248 10287 10879 10910 13652#
LDAR 922# 13156 13258
LDATA 9969 10126 10206 10223 10297 10316 10885 10909 13651#
LDATAE 13650#
LDBDAT 10881
LDBIN 9744
LDBIN1 10055 10069
LDBIN2 10084 10089
LDBIN3 10067
LDBINE 10115
LDBLD2 10920
LDBOOT 9882
LDBRL 878# 12688 13208 13224
LDBRR 877# 12687 13205 13220
LDBXFR 10908
LDCHAN 927# 12692
LDCHK1 881# 3575 12690
LDCHK2 882# 3569 12691
LDCLR 9856
LDCNT 9832 9863 9967 10123 10219 10286 10298 10314 10878 10886
10907 13653#
LDCNTL 5293 5507 5527 9576 9742 9787 9793 9800 9802 9872
10211 10250 10566 13655#
LDCNV 9849
LDCRAM 9879
LDCZRO 9878
LDDIS 880# 12689
LDDONE 10048 10152 10338 10924
LDDRAM 9880
LDELVN 9877
LDEOL 9838
LDLTR 9798
LDMBXA 926# 12697
LDOCT 9828
LDOCTF 9791 9841 9855 9861 10225 13654#
LDOVRD 5491 5494 5496 5498 5500 5502 5505 5525 9564 9593
9610 9612 13656#
LDPRO1 9797
LDPRO2 9803 9805 9830
LDPRO3 9799 9807
LDPROC 9788 11932
LDRAM1 886# 13170
LDRAM2 887# 13167
LDRAM3 888# 13162
LDRDIN 10290
LDRJEV 889# 13171
LDRJOD 890# 13168
LDSEL 879# 3851 12724
LDSTRT 5584
LDTEN 9876
LDTYPE 9874
LDZBLK 9792 9806 10289 10880 13657#
LF 673# 2037 2735 6504 6550 6613 7290 7338
LJMP 10061
LLD1 9743
LLD2 9747 9810 9823 9979 10247 10905 11899
LLD3 9766
LLD4 9773 9780
LLDONE 9779
LLIST 12694 12727
LLISTL 12694# 12726
LODAR 372# 3765 3797 8726
LOOPER 200#
LPASB 1769 1869 2371 2559 5696 6715
LPTASB 6561 8086
LPTFLG 6593 6831 6833 7314 7316 8229 13544#
LPTYPE 13545#
LTMP 10577 10580 10581 13643#
MCNVER 14#
MEMPE 6246
MEMPEF 8297 8300 13729#
MICFIL 360#
MICNUL 359# 10210
MMADDM 1468#
MMADDS 1469#
MMDAT 4453 4454 4455 4472 13740#
MMERRF 1466# 8302
MMLPBA 1463# 6247 8301 8302
MMLPEA 1464#
MMLPIV 1461# 6246
MMPIE 1472# 6247 8301
MMWWP 1471#
MODDVC 208#
MONASB 341 1891 2115 2134 2384 2418 2437 2570 2586 2603
2715 5529 5535 5617 5619 5681 8018 8162 9751 9956
9962 10386 11881 11895 11900 11923 11934 11958 11992 12007
12350 13660 13675
MONCTL 6317 13606#
MONMOD 4581 4655 4658 4662 4671 4955 6298 12708 13707#
MRESET 362# 2998 8630 9179 9227 10203 10956 12773
MSWCHR 669# 4607 4900 7382
MTTYC 4702
MTTYCF 4703
MTTYER 4619 4623 4638
MTTYI0 4902
MTTYI1 4608
MTTYIN 4585
MTTYO 4701
MTTYOC 4591
MTTYOF 4587 4639 4649 4668 4957 6304 12709 13708#
MTTYP 4656
MTTYS 4704
MTTYX 4659
MULTPY 296#
NAMBF 9668 9675 10454 10482 13621#
NAMEXT 307# 5290 9549
NAMRAD 13639#
NBIT 574# 2726 7137 8476 8575
NEG36 7603 7627 7638
NOPAR 6245
NOPNT 196# 6597
NULL 703# 6554 6698
NULSTP 858#
NUPE 826#
OPRSEL 211#
P10CMD 4918
PAG 3709# 3734# 4184# 4196 4287# 4322# 4355# 4365 4380# 4390
8501# 8670# 8705#
PAGDFL 4095 4144 4217 12423 13552#
PALERS 203#
PATEND 13491# 13761 13766
PBELL 276#
PC 589# 2011 2047 2060 2707 2737 2743 2755 2776 2790
2891 3044 3088 3097 3102 3141 3446 3447 3448 3454
3469 3507 3509 3510 3511 3512 3513 3516 3517 3518
3519 3520 3523 3524 3525 3526 3529 3530 3531 3551
4062 4067 4072 4077 4087 4234 4243 4404 4425 4446
4466 4508 4569 4571 4584 4590 4600 4647 4771 4776
4777 4778 4782 4785 4945 4960 5050 5073 5165 5213
5287 5308 5322 5328 5599 5862 5873 5924 5925 5936
5939 5942 5953 6034 6089 6167 6190 6214 6283 6309
6319 6327 6623 6624 6631 6655 6659 6662 6665 6666
6695 6696 6699 6707 6712 6801 6820 6821 6827 6837
6873 6891 6898 6902 6905 6913 6921 6927 6936 6955
6972 6985 7095 7148 7184 7196 7205 7210 7216 7380
7403 7425 7428 7445 7454 7498 7502 7543 7548 7592
7603 7607 7611 7627 7638 7657 7670 7676 8223 8264
8341 8344 8360 8367 8526 8553 8626 8773 8830 8851
8860 8910 8915 8931 8964 8974 8999 9044 9070 9096
9099 9139 9142 9192 9198 10613 10709 11064 11081 11083
11085 11094 11096 11100 11122 11126 11133 11145 11173 11179
11201 11208 11223 11265 11274 11278 11284 11304 11306 11330
11332 11355 11357 11364 11371 11373 11377 11380 11388 11398
11404 11406 11413 11419 11426 11442 11455 11505 11507 11551
11605 11626 11638 11643 11727 11789 11793 11816 11824 11835
11840 11851 11856 12430 12469 12484 12583 12596 12618 12729
12739 12744 12746 12749 12771 12780 12787 12799 12836 12878
12887 12891 12904 12917 12992 13015 13078 13134 13203 13211
13216 13227 13241 13245 13253 13319 13328
PCF 3088 3097
PCFTBL 3107
PCKASB 11155 11180 11192 11225
PCMDE 2068
PCMDE1 2146
PCMDE2 6814
PCMDE3 2727
PCMDFL 2008 2066 2127 2144 2700 2713 2720 5519 6810 7924
7930 13609#
PCMDNF 2696 2698 2714 2721 6558 9812 9815 9822 13610#
PCOMMA 263#
PCRLF 260# 2141 2868 2889 3451 3514 3521 3527 3533 3833
3980 4079 4137 4521 4526 4783 4887 5413 5420 6432
6443 6459 7274 7292 7306 8262 8412 8458 8599 8929
9013 9033 9183 9282 9998 10036 10108 10268 10274 10357
10500 11351 11942 11991
PCVMAP 3035 3059 3069 3077
PDVER 118#
PEBITS 3560 3872 3956 3986 6165 10937 10939 13551#
PERCLR 836# 12718
PFORCE 274# 2009 2076 2140 4732 4767 4884 4892 6244 6433
7207
PGOADR 5593 5612 10046 10334 10966 13562#
PGOCTL 5583 10047 10337 10969 13563#
PHYS 754# 2001 8377
PI 3708# 3733# 4183# 4286# 4321# 4340 4354# 4379# 8500# 8669#
8704# 8723
PID 117#
PLDBUF 283# 4794 6499 6503 6505 6523 7244 7852 7855 9819
PLPT 282#
PMVER 119#
PNORML 275# 2681 3769 4503 5391 5490 5528 10504
PNT18 268#
PNT22 270#
PNT23 269#
PNT36 271# 2882 4518 4886 8593 8598 9060 10351 10356
PNT36B 272# 2863
PNTADR 273# 3040 4514 8411 8457 8588 10346 10372
PNTAL 254# 3137 7845 11928
PNTBAK 285# 4515
PNTCHR 257# 7044 7067 10496
PNTCI 258# 2077 2121 2906 2916 3135 4123 6436 6448 7071
7310 7324 7329
PNTCPU 416# 3498 3779 3785 4763
PNTCRM 418# 8957 10267 10273
PNTDEC 267# 8261 10498 11990
PNTDRM 420# 9234 10158 10164
PNTLPT 198#
PNTNBR 259# 3832 4086 4122 4136 6439 6954 6962 6966 6969
7028 7050 9260 9266 9273
PNTOCS 266# 2850 5410 9010 9130 10028 10035 10100 10107
PNTOCT 265# 5398 5405 6431 6442 6455 6458 8937 8940 8943
8946 8949 9987 9992 9997 10022 10095 11350 12493 12499
PNTODC 277# 8997
PNTODT 278# 2914 3437 3467 3958 4057 8952 9003 9067 9252
9279
PNTRST 287# 6567 9822
PR0 656#
PR1 657#
PR2 658#
PR3 659# 665
PR4 660#
PR5 661#
PR6 662#
PR7 663# 5110 5123 6185 11432 11464 11477 11607
PRGCMD 422# 5277
PRGHLT 218#
PRGNPT 424#
PRGRUN 2129 2768 3547 3586 4666 5514 5603 6302 13728#
PRGSRT 78# 82 1854 5365 10077
PRINTT 280# 4897 6510 6564 7192
PROL36 294# 5227 6876 6895 6900 6908 6935 6984
PRTOFF 759# 2001 4615 4620 4635 4676 4713 4808 4853 4861
4938 4990 5018 5051 5067 5084 5091 5102 5134 5147
5157 5166 5250 5268 5330 5342 8377 11498
PS 610# 1991 5110 5115 5123 5128 6170 6485 8220 11432
11455 11464 11477 11497 11504 11607 11608 11642
PSLASH 262# 2851 4516 5399 6440 6456 9069 9254
PSPACE 261# 3439 6943 6970 7034 7145 9005 9045 9061 9255
9261 9267 9274 10030 10102 10490
PTAB 264#
PTABLE 123#
PTTY 281# 6612 6614 6620 6856 7252 7256 7268 7279 7320
PULSE 779#
PWLEN 5910 6081#
PWORD 5913 6081
PWRVEC 600# 6199 8214 8227
QCHN 11044# 11415
QDTMSG 11057#
QECHRQ 11054#
QECHRY 11053# 11359
QENADR 11056# 11383
QENBCC 11058#
QENMSG 11048# 11116 11171 11215 11218
QENPKT 11055# 11214
QENWC 11047# 11110 11217
QGET 11173 11380 11442
QGIVE 11081 11304 11355 11377
QHDRSZ 11050# 11378 11382 11392 11393 11439 11446 11448 11486 11492
QINI 11626
QMPCMD 4705
QMPCXT 11434 11443 11466
QMPINI 6309
QMPRQS 11440 11444 11465 13592#
QMPRTY 11505
QMPRY1 11467
QNOPMS 11052#
QREQ 11046# 11214 11326 11345 11359 11383
QSIZ 11045# 11400 11416 11485
R0 581# 1993 1994 1996 2013 2016 2029 2031 2033 2035
2037 2039 2041 2091 2093 2095 2099 2101 2103 2105
2109 2112 2701 2703 2705 2706 2731 2783 2784 2786
2789 2797 2807 2809 2811 2813 2815 2837 2840 2845
2849 2852 2854 2856 2862 2881 2898 2910 2913 2918
2924 2931 2939 2944 2946 2953 2961 2965 2972 2980
2985 2992 3005 3010 3028 3035 3048 3050 3109 3130
3418 3425 3426 3429 3432 3433 3462 3466 3476 3479
3494 3594 3613 3627 3635 3661 3681 3691 3760 3792
3822 3828 3830 3831 3837 3843 3860 3864 3957 3984
3986 3997 4003 4005 4007 4008 4015 4018 4020 4022
4024 4032 4046 4048 4056 4085 4098 4101 4104 4111
4116 4119 4126 4129 4133 4146 4156 4160 4206 4207
4209 4226 4228 4231 4236 4239 4247 4249 4255 4257
4260 4262 4398 4399 4463 4475 4495 4496 4500 4505
4507 4513 4517 4606 4607 4614 4644 4645 4646 4671
4804 4807 4822 4827 4876 4877 4885 4900 5010 5011
5012 5013 5041 5044 5067 5073 5089 5090 5094 5096
5097 5098 5099 5100 5101 5105 5106 5107 5111 5112
5113 5121 5124 5125 5126 5143 5144 5145 5146 5156
5177 5182 5185 5193 5197 5201 5207 5208 5213 5268
5273 5276 5285 5286 5300 5304 5319 5323 5358 5361
5363 5365 5367 5383 5384 5388 5393 5396 5404 5408
5409 5438 5443 5459 5462 5474 5477 5481 5547 5549
5550 5583 5584 5604 5605 5611 5613 5614 5788 5796
5799 5851 5852 5857 5860 5865 5867 5869 5880 5884
5886 5908 5909 5910 5912 5914 5916 5933 5934 5939
5944 5946 5951 5957 5966 5968 5981 5989 5992 5995
5998 6001 6004 6018 6022 6028 6160 6161 6168 6183
6184 6185 6186 6191 6222 6223 6232 6233 6234 6260
6261 6262 6263 6315 6316 6317 6323 6324 6396 6402
6403 6406 6417 6418 6419 6420 6421 6422 6429 6430
6438 6441 6454 6457 6489 6490 6494 6496 6498 6506
6517 6518 6522 6527 6530 6533 6536 6541 6543 6544
6545 6547 6567 6569 6583 6584 6585 6590 6597 6602
6611 6613 6618 6643 6653 6657 6664 6675 6683 6709
6855 6872 6950 6951 6958 6961 6963 6965 6967 6968
6977 7002 7006 7012 7019 7020 7022 7039 7041 7043
7046 7047 7048 7053 7056 7059 7066 7077 7080 7083
7094 7097 7109 7111 7113 7123 7133 7135 7158 7160
7165 7251 7255 7267 7278 7319 7458 7460 7469 7470
7473 7478 7481 7491 7493 7505 7507 7510 7511 7513
7525 7531 7556 7558 7566 7571 7573 7584 7586 7589
7594 7616 7618 7641 7643 7672 7673 7674 7675 7680
7681 7683 7687 7702 7709 7711 7713 7716 7730 7732
7734 7736 7738 7740 7744 7746 7748 7764 7768 7774
7776 7795 7802 7819 7825 7832 7844 7871 7882 7892
7896 7902 7908 7914 7915 7934 7948 7950 7951 7952
7953 7956 7957 8211 8235 8236 8260 8314 8334 8346
8347 8348 8349 8350 8351 8366 8368 8384 8387 8393
8405 8408 8410 8415 8423 8427 8454 8456 8464 8468
8469 8470 8471 8472 8474 8556 8560 8563 8570 8588
8593 8597 8607 8614 8624 8630 8631 8637 8639 8642
8647 8651 8652 8768 8787 8801 8805 8811 8812 8813
8815 8816 8817 8818 8819 8820 8821 8822 8830 8849
8851 8853 8901 8915 8916 8917 8918 8919 8920 8922
8926 8936 8939 8942 8945 8948 8951 8955 8967 8977
8993 9002 9006 9009 9023 9025 9027 9029 9037 9038
9059 9066 9079 9082 9084 9091 9093 9097 9100 9103
9107 9110 9118 9119 9120 9127 9128 9140 9143 9147
9151 9154 9157 9158 9159 9171 9174 9176 9191 9197
9209 9211 9212 9217 9222 9225 9231 9232 9239 9244
9247 9251 9257 9263 9269 9272 9276 9277 9278 9298
9301 9303 9316 9322 9323 9324 9550 9612 9613 9614
9668 9671 9681 9683 9685 9687 9691 9698 9700 9702
9706 9716 9769 9771 9772 9774 9778 9795 9796 9798
9804 9813 9826 9827 9829 9834 9835 9837 9839 9844
9845 9852 9864 9865 9868 9872 9874 9967 9977 9984
9986 9991 9996 10000 10009 10016 10021 10026 10027 10033
10034 10038 10045 10046 10054 10059 10063 10083 10086 10091
10094 10100 10105 10106 10113 10117 10128 10135 10137 10138
10139 10141 10142 10144 10156 10162 10208 10227 10233 10238
10248 10255 10257 10258 10260 10265 10271 10301 10319 10343
10345 10350 10356 10360 10363 10364 10371 10428 10430 10431
10432 10433 10434 10435 10436 10438 10456 10459 10463 10466
10469 10474 10495 10497 10529 10532 10533 10550 10551 10577
10579 10580 10581 10604 10612 10613 10614 10617 10618 10619
10620 10621 10622 10623 10650 10665 10681 10685 10688 10690
10696 10703 10718 10719 10745 10748 10777 10778 10801 10806
10807 10809 10811 10813 10814 10818 10821 10828 10831 10907
10918 10959 11074 11076 11108 11110 11116 11117 11164 11165
11214 11217 11218 11220 11296 11300 11319 11326 11345 11350
11353 11359 11382 11383 11392 11393 11400 11401 11402 11411
11415 11416 11445 11446 11447 11478 11485 11492 11493 11519
11527 11528 11560 11561 11562 11564 11588 11591 11592 11595
11596 11628 11631 11695 11699 11715 11716 11717 11720 11721
11722 11754 11758 11771 11774 11775 11813 11818 11848 11853
11922 11989 12349 12356 12404 12408 12409 12410 12416 12418
12419 12420 12422 12424 12425 12426 12428 12454 12466 12470
12471 12472 12473 12492 12497 12498 12509 12524 12536 12538
12543 12544 12545 12546 12561 12562 12563 12564 12645 12646
12647 12648 12650 12663 12664 12665 12666 12667 12668 12670
12677 12703 12728 12748 12751 12759 12762 12767 12769 12774
12780 12781 12784 12785 12786 12788 12794 12795 12796 12797
12823 12829 12837 12855 12862 12866 12874 12875 12877 12883
12891 12899 12909 12912 12913 12914 12915 12918 12919 12923
12924 12933 12940 12943 12955 12957 12959 12961 12962 12963
12964 12965 12975 12977 12983 12990 13004 13011 13014 13020
13035 13042 13048 13055 13056 13060 13075 13081 13082 13083
13084 13085 13090 13091 13092 13093 13094 13102 13107 13108
13109 13110 13111 13112 13119 13156 13162 13168 13171 13178
13187 13194 13196 13197 13199 13205 13208 13220 13224 13239
13242 13258 13268 13269 13270 13271 13308 13310 13313 13316
13323 13335 13337 13341 13343 13347 13355 13357 13360 13361
13362 13363 13364 13365 13366 13367 13368 13369 13370 13373
13379 13380 13381 13382 13383 13384 13392
R1 582# 2110 2112 2117 2729 2731 2733 2734 2735 2736
2740 2741 2744 2752 2753 2756 2771 2773 2777 2786
2813 2858 2862 2876 3005 3113 3118 3120 3122 3124
3126 3129 3131 3477 3478 3560 3562 3571 3572 3661
3663 3666 3667 3775 3783 3956 3957 3960 3964 3968
3972 3976 4007 4055 4056 4060 4065 4070 4075 4205
4206 4207 4208 4209 4225 4232 4235 4403 4412 4455
4488 4533 4687 4688 4689 4691 4729 4793 4803 4804
4805 4819 4822 4824 4830 4831 4832 4837 4838 4840
4905 4906 4908 4964 4966 4968 5067 5073 5108 5111
5112 5113 5120 5124 5125 5126 5130 5131 5132 5139
5140 5150 5151 5152 5153 5154 5178 5183 5187 5203
5206 5212 5225 5283 5284 5321 5327 5383 5395 5396
5397 5404 5408 5414 5416 5417 5427 5459 5469 5474
5477 5612 5613 5614 5852 5853 5855 5861 5864 5872
5888 5889 5890 5892 5894 5898 5913 5914 5923 5934
5935 5938 5952 5958 5960 5966 5969 5981 5982 5988
5990 5991 5993 5994 5996 5997 5999 6000 6002 6003
6005 6019 6020 6023 6024 6029 6159 6162 6180 6190
6322 6324 6325 6435 6441 6453 6454 6457 6460 6498
6502 6504 6522 6542 6543 6550 6552 6554 6605 6607
6618 6621 6861 6864 6867 6870 6871 6872 6892 6901
6950 6976 6987 6988 6989 7001 7008 7029 7038 7069
7142 7186 7208 7220 7221 7222 7227 7236 7238 7240
7243 7247 7255 7259 7270 7271 7278 7289 7290 7294
7300 7319 7519 7525 7527 7590 7605 7629 7630 7631
7632 7633 7655 7661 7662 7663 7664 7665 7666 7667
7668 7669 7680 7689 7693 7699 7767 7768 7770 7824
7826 7831 7833 7851 7853 7859 7860 7871 7873 7875
7892 7915 7948 8288 8289 8293 8317 8318 8319 8325
8331 8332 8333 8357 8366 8370 8376 8393 8394 8408
8414 8454 8460 8465 8521 8522 8523 8525 8560 8565
8569 8606 8607 8620 8621 8623 8636 8643 8736 8739
8775 8778 8791 8796 8956 8968 8996 8998 9056 9059
9177 9231 9244 9257 9263 9269 9276 9325 9669 9671
9676 9689 9695 9704 9714 9793 9798 9817 9832 9848
9860 9866 9970 9971 9976 9981 9986 9996 10002 10007
10008 10016 10021 10033 10039 10129 10139 10142 10144 10157
10163 10206 10228 10237 10238 10266 10272 10300 10304 10318
10360 10363 10429 10438 10469 10474 10608 10629 10697 10715
10719 10720 10728 10735 10761 10771 10781 10787 10802 10809
10811 10813 10884 10887 10890 10892 10893 10900 10902 10909
10917 10958 11110 11114 11115 11147 11154 11160 11170 11171
11215 11216 11217 11221 11378 11400 11416 11437 11438 11439
11440 11448 11449 11450 11451 11452 11453 11465 11485 11486
11488 11489 11490 11491 11494 11520 11522 11523 11524 11525
11527 11529 11530 11531 11609 11610 11611 11615 11616 11617
11618 11619 11620 11621 11629 11633 11685 11687 11691 11705
11713 11721 11724 11749 11751 11752 11756 11763 11764 11772
11775 11778 11786 11812 11819 11847 11854 12355 12356 12358
12359 12360 12407 12408 12417 12418 12419 12420 12423 12424
12425 12426 12482 12492 12509 12555 12581 12620 12623 12624
12626 12627 12629 12643 12652 12653 12654 12663 12664 12665
12666 12667 12668 12676 12726 12730 12752 12753 12758 12767
12791 12798 12808 12812 12813 12814 12815 12825 12826 12827
12828 12838 12883 12884 12886 12891 12911 12913 12914 12915
12954 12956 12958 12973 12982 12988 12989 12991 12995 12997
13003 13006 13034 13037 13062 13064 13066 13068 13075 13085
13086 13094 13095 13099 13114 13155 13163 13164 13172 13173
13175 13177 13180 13181 13193 13204 13207 13219 13223 13257
13292 13321 13322 13323 13348 13349 13350 13351 13353 13356
13359 13361 13362 13363 13364 13365
R2 583# 2811 2815 2837 2849 2852 2869 2871 3112 3119
3121 3123 3125 3128 3131 3559 3562 3571 4059 4064
4069 4074 4085 4458 4461 4473 5141 5143 5146 5179
5184 5189 5191 5200 5205 5211 5315 5324 5376 5384
5397 5425 5426 5427 5431 5432 5453 5469 5481 5979
5981 6013 6016 6018 6021 6025 6026 6030 6034 6434
6438 6444 6445 6452 6462 6463 6629 6638 6639 6652
6656 6668 6672 6673 6675 6677 6678 6679 6680 6681
6682 6688 6691 6693 6704 6705 6864 6875 6915 6931
6938 6975 6976 6977 7002 7013 7016 7017 7018 7019
7039 7045 7046 7054 7058 7453 7465 7466 7467 7470
7478 7501 7511 7520 7522 7696 7699 7701 7710 7714
7850 7851 7853 7892 7915 7948 8293 8345 8346 8347
8348 8349 8350 8351 8352 8354 8355 8356 8606 8609
8983 8989 8991 9247 9278 9670 9672 9675 9691 9694
9706 9833 9844 9845 9848 9852 9860 9863 9865 9866
9969 9976 9981 9991 10001 10007 10008 10016 10026 10038
10123 10148 10219 10244 10298 10305 10314 10330 10614 10615
10616 10617 10699 10701 10725 10731 10738 10807 10814 10885
10887 10890 10892 10901 10903 10910 10911 10912 10914 10915
10916 10917 10954 10964 11070 11118 11119 11137 11165 11213
11219 11220 11293 11317 11322 11326 11327 11328 11330 11391
11393 11401 11430 11462 11475 11517 11587 11589 11591 11592
11595 11596 11599 11607 11608 11611 11617 11619 11621 11630
11631 11632 11685 11689 11692 11697 11703 11704 11712 11715
11718 11720 11722 11724 11763 11764 11765 11767 11768 11811
11820 11849 11855 12406 12411 12727 12728 12748 12751 12759
12808 12813 12814 12815 12822 12845 12883 12885 12888 12891
12935 12936 12937 12938 12939 12974 12981 12994 12996 13003
13021 13034 13049 13055 13119 13120 13121 13126 13127 13128
13129 13131 13132 13133 13141 13142 13149 13150 13194 13195
13217 13218 13219 13291 13325 13347 13374
R3 584# 2835 2843 2865 3421 3422 3423 3433 4491 4502
4519 4548 5180 5197 5199 5200 5204 5205 5206 5208
5210 5226 5377 5390 5411 5980 6006 6012 6014 6015
6017 6020 6027 6028 6029 6030 6033 6630 6632 6634
6636 6798 6803 6804 6805 6807 6816 6819 6823 6825
6829 6834 6875 6894 6899 6907 6933 6959 6961 6965
6968 6974 6978 6982 6983 6990 7052 7054 7058 7068
7463 7475 7486 7509 7514 7695 7703 7892 7915 7948
8293 8353 8354 8355 8356 8468 8469 8470 8471 8981
8983 8984 8985 8986 8987 8988 8990 9576 9577 9601
9604 9609 9614 9619 9628 9760 9769 9782 10125 10128
10135 10146 10156 10162 10221 10222 10227 10233 10242 10265
10271 10284 10285 10286 10287 10300 10318 10326 10327 10328
10335 10336 10454 10457 10461 10464 10607 10698 10703 10709
10711 10712 10713 10718 10728 10735 10748 10777 10804 10822
10876 10877 10878 10879 10882 10883 10886 10888 10912 10915
10922 10923 10951 10952 10953 10958 10962 11138 11139 11140
11141 11146 11164 11199 11204 11219 11270 11271 11275 11279
11298 11323 11635 11636 11691 11692 11693 11695 11697 11699
11703 11710 11712 11713 11754 11756 11758 11763 11767 11768
11771 11772 11774 11776 11778 11779 11810 11821 11832 11837
12857 12860 12868 12876 12906 12919 12923 12924 12928 12929
12930 12931 12935 12943 12948 12949 13004 13005 13019 13020
13035 13036 13047 13048 13064 13066 13068 13116 13117 13198
13199 13212 13217 13223 13239 13257
R4 585# 2845 2869 3108 3133 3138 3409 3416 3418 3425
4025 4028 4031 4032 4505 4522 5229 5232 5235 5237
5240 5393 5414 6916 6928 6945 6958 6963 6967 6972
6981 6995 7000 7004 7032 7479 7487 7495 7529 7549
7682 7686 7692 7706 7892 7915 7948 8266 8267 8268
8293 8316 8317 8318 8319 8320 8325 8480 8481 8520
8521 8522 8523 8524 8935 8951 8978 8981 9249 9283
9286 9312 9317 9554 9560 9564 9566 9568 9569 9570
9571 9572 9573 9574 9579 9581 9582 9597 9599 9607
9617 9622 9626 9759 9762 9770 9781 10126 10129 10147
10157 10223 10228 10237 10243 10255 10256 10257 10258 10259
10260 10266 10297 10301 10316 10319 10329 10334 10335 10336
10350 10364 10455 10457 10462 10464 10605 10606 10610 10611
10623 10626 10627 10628 10631 10633 10635 10637 10639 10642
10643 10644 10645 10646 10647 10693 10702 10742 10803 10805
10815 10816 10817 10818 10819 10820 10821 10825 10955 10959
10963 10966 10967 10968 11704 11705 11710 11716 11717 11718
11809 11822 11831 11838 12733 12740 12810 12837 12840 12907
12909 13010 13014 13016 13040 13042 13044 13117 13118 13130
13131 13133 13145 13148 13150 13151 13339 13344 13356
R5 586# 3006 3107 3109 3126 3130 3622 3627 3631 3990
3993 4001 4020 4026 4029 4095 4119 4128 4129 4133
4204 4211 4252 4394 4398 4399 4400 4403 4414 4415
4416 4490 4495 4496 4497 4507 4513 4522 4524 4541
4542 4544 4545 4546 4549 4644 4686 4687 4793 4830
4837 4872 4876 4877 4885 4905 4964 5230 5233 5235
5238 5240 5371 5374 5395 5401 5417 5426 5432 5438
5442 5443 5448 5451 5460 5462 5471 5777 5780 5788
6922 6952 6980 7003 7011 7024 7026 7040 7061 7064
7226 7227 7229 7230 7235 7488 7496 7497 7522 7523
7579 7609 7610 7650 7652 7653 7654 7892 7915 7948
8224 8225 8254 8255 8263 8279 8280 8293 8314 8315
8336 8343 8369 8416 8477 8479 8619 8623 8624 8748
8755 8933 8934 8935 8936 8939 8942 8945 8948 8976
8978 8996 8998 9001 9002 9006 9024 9026 9028 9030
9062 9239 9251 9287 9305 9306 9307 9308 9309 9310
9311 9316 9555 9561 9572 9575 9580 9581 9582 9583
9585 9587 9589 9591 9756 9757 9774 9775 9783 9784
9794 9795 9817 9826 9834 10014 10040 10042 10063 10077
10083 10086 10088 10094 10105 10137 10163 10236 10240 10604
10605 10607 10801 10802 10803 11182 11269 11361 11367 11385
11395 11534 11537 11540 11560 11564 11587 11599 11684 11748
11814 11823 11833 11839 12622 12623 12624 12625 12626 12627
12628 12629 12630 12631 12675 12676 12677 12753 12754 12755
12756 12775 12776 12777 12798 12859 12863 12978 12979 13065
13067 13069 13135 13158 13175 13183 13338 13345 13385
R50UPK 310# 10438 10442 10446
R6 587# 6484
RAMIS0 851#
RCRAM 357# 3999 4023 8924 10234
RCRAM1 909# 8913 9023 12969
RCRAM2 910# 8909 9025 12970
RCRAM3 911# 9027 12971
RCRAM4 912# 9029 12972
RCSPEC 913# 12953
RDCLK 5050 5165
RDRAM 408# 9229 10136
RDRTMP 13085 13094 13111 13112 13747#
READ0 931# 3475 3488
READ1 932# 3460
READ2 933#
READ3 934#
REGRST 291#
REGSAV 290#
RELIAB 204#
REMOTE 130#
REQLST 11330 11342
REQMAX 11328 11342#
RESVEC 595# 6198
RESVED 593#
REVCNT 10705 10779 13640#
RFMAD0 815#
RFMAD1 816#
RFMAD2 817#
RFMAD3 818#
RM 860#
RPADDR 327#
RPASB 1724 1898 2429 2595 2692 8096 8105 8115 8149 8202
10385 10508 10539 10557 10984 13640
RPBASE 328#
RPEOF 13636#
RPERRO 329#
RPFIL 10383 10385#
RPFILE 309#
RPFIND 321#
RPINIT 313#
RPLKUP 322#
RPLOAD 314#
RPRDFL 323#
RPREAD 325#
RPTFLG 2044 2053 2679 2687 2846 2860 2879 2886 2904 3435
3505 3533 4511 7839 8400 8449 8733 8757 9031 12480
12553 12579 12641 13695#
RPUNIT 13548#
RPWRFL 324#
RPWRIT 326#
RSTART 194#
RUBOUT 697# 7347
RUNLP 219# 2082
RXASB 1644 2447 2610 5554 8181 10980 13650
RXBASE 336#
RXCOPY 125#
RXFILE 332# 10394 10517
RXINIT 333#
RXRDFL 334# 10424 10546
RXREAD 337#
RXUNIT 13546#
RXWRT 338#
RXWTFL 335#
SAILVR 15# 665 666 700 2063 4221 4965 4966 4974 4999
5027 5082 5245 6213 6256 6285 8222 8242 8271 8808
13565 13757
SCD 807#
SEADR 5358 5593 5594 5596 5606 5608 13564#
SECLK 869# 12903
SETFLG 295# 2130 2678 2695 2699 3502 3583 3585 4219 4437
4648 4654 4661 4663 4665 4667 4774 4789 4847 4890
4895 4950 4952 4954 4956 4958 4997 5115 5163 5292
5294 5488 5512 5520 5526 5590 5602 6297 6299 6301
6303 6413 7170 7199 10376 10513 11495 11920 12413
SETMPH 373# 12429
SETMR 872# 12685 12893
SETRUN 920# 3031 3092 3580
SHFT36 5322 5328 7592 7607 7656
SHIFTL 293# 3840 4126 9105 9149 9189 9195 9245
SHIFTR 292# 2911 3430 3463 3480 4120 4134 9007 9258 9264
9270
SIGNL 12817 12834 13742#
SIGNL2 12920 12925 12951 13744#
SIGNL3 12944 12946 12950 13745#
SIPNT 3641 3768#
SLASH 681# 6530
SM 370# 3675 4213 10292 10957
SND10 4571
SNDEN 11083 11371
SNDENR 11094
SP 588# 1992 1994 1996 1997 1999 2075 2140 2143 2709
2712 2719 2725 2726 3028 3035 3505 3533 4116 4126
4156 4160 4228 4231 5041 5044 5067 5073 5110 5115
5123 5128 5177 5178 5179 5180 5210 5211 5212 5213
5268 5273 5605 5851 5852 5864 5865 5933 5934 5938
5939 5957 5958 5966 5979 5980 5981 6032 6033 6034
6158 6171 6175 6176 6207 6208 6236 6396 6402 6406
6416 6418 6419 6420 6421 6422 6423 6424 6425 6541
6547 6567 6569 6590 6602 6862 6958 6972 7137 7186
7207 7243 7247 7261 7276 7287 7297 7333 7680 7681
7713 7714 7716 7750 7753 7764 7774 7776 7882 7883
7884 7888 7889 7890 7892 7896 7902 7908 7914 7915
7919 7920 7934 7945 7948 7949 8211 8221 8285 8291
8293 8335 8384 8385 8386 8387 8390 8391 8392 8393
8395 8398 8405 8410 8414 8415 8417 8423 8424 8425
8426 8431 8437 8443 8447 8456 8460 8461 8462 8463
8464 8468 8474 8476 8556 8557 8560 8563 8565 8569
8570 8574 8575 8578 8581 8588 8593 8606 8612 8614
8625 8630 8639 8642 8647 8651 8652 8759 8768 8801
8805 8811 8830 8849 8853 8912 8915 9812 9822 9984
10000 10016 10038 10091 10100 10113 10117 10343 10356 10438
10469 10474 10602 10604 10650 10709 10718 10799 10801 10828
10831 11138 11141 11142 11143 11147 11148 11198 11199 11345
11350 11353 11432 11455 11464 11477 11497 11504 11560 11564
11587 11599 11607 11642 11763 11786 11809 11810 11811 11812
11813 11814 11816 11818 11819 11820 11821 11822 11823 11831
11832 11833 11835 11837 11838 11839 11847 11848 11849 11851
11853 11854 11855 12467 12475 12478 12483 12497 12525 12548
12551 12556 12574 12577 12582 12620 12636 12639 12644 12650
12663 12670 12678 12703 12762 12767 12780 12784 12791 12883
12891 12933 12943 13062 13064 13075 13102 13114 13175 13177
13347 13372 13373 13392
SPACE 679# 6527 7778 9687 9702
SRT10 5587
SRT11 5359
SRT11X 5586
SRTFLG 5508 9709 9712 11963 13658#
SSCLK 868# 12531 12738
STACK 570 1992 5604 6158 6171 7919 8221
START 5693 6322 8282
STATUS 740#
STKLMT 611#
STPCLK 866# 3023 3087 3640 12571 12684 12693 12895 13202 13215
STRCLK 867# 3029 3090 3578 8634 8731 12587 12686 12894
SWITCH 298# 6402 6596 9812
SWR 612# 5038 5222 7158 9786
SWS10 4856 4864 4872 5230 5253 6260 13554#
SWSLFT 822#
SWTDEP 4221 4848 4851 4859 4953 5246 12707 13757#
SWTSAM 299#
SYN 705#
T11DBF 4577 4712 11281 13573#
T11MSE 11329
TA11 605#
TAASB 1606
TAB 671# 2033 6536 7732 7779 10495
TAPT 128#
TBIT 577#
TBITVE 597#
TC11 606#
TCASB 57# 1690
TCBA 1717# 10695
TCBLKM 1705# 1711
TCCM 1714# 10697
TCCM1 1715# 10742
TCDATM 1706# 1711
TCDO 1699# 10685 10688 10696
TCDT 1718# 10725 10730 10731 10737 10738
TCERR 1708# 10720
TCIE 1698#
TCILO 1696#
TCMTE 1707# 1711
TCPAR 1704# 1711
TCRDAT 1700# 10685
TCRDY 1709# 10720
TCREV 1703# 10698
TCRNUM 1702# 10696
TCSELE 1697#
TCSOFT 1711# 10755
TCST 1713# 10753 10755
TCUINT 6229
TCWC 1716# 10694
TCWDAT 1701# 10688
TDDT 3600 3601
TDELAY 297# 3021 3085 3630 7874
TDIAG 4249
TELASB 64# 1874 2057 2374 2562 5811 5845 6218 7386 7405
7410 7430 7435 8230 13597
TEMP 9579 13723#
TENAC0 13753#
TENAD1 727#
TENAD2 728#
TENCER 4424 4567
TENCHR 368# 6806 7224
TENCLK 3656 3815 4928 4959 4986 4998 5023 5057 5062 5075
12706 13608#
TENCMD 4579
TENDAT 4614 4618 4807 4811 13752#
TENDEA 4563 4910
TENMO 8334 13037
TENRUN 2126 3017 3081 3584 3645 3845 4220 4556 4664 4725
4730 4766 4927 4931 5044 5242 5263 6300 7912 8415
8768 12488 12703 13706#
TENSP 366# 3544 3620 3747 3847 12705
TENSW 364# 4222 4878 4882 5041
TENSWD 13607#
TENTTY 3612 4242 4790 5265 13672#
TEXTER 670#
TGOADR 5611 13561#
TILINA 7235
TILINC 7227 7230
TILNWF 7183 7200 7203 7211 13683#
TIM11 6022 6024 6026 8819 8835 8836 8837 8840 8843 8846
8863 13565#
TIMADR 5087 5089 5096 5097 5107 5137 5139 5150 13570#
TIMBAS 5108 5121 8815 8855 8856 8857 13566#
TIMFLG 5164 8861 12712 13571#
TIMTMP 5054 5120 5141 5155 5156 5169 5204 13569#
TKVEC 603#
TLDR 4257
TMON 4262
TMSFLG 5047 5049 8865 12713 13572#
TO10 789#
TO10AD 731#
TO10BC 729#
TO10BM 811#
TO10DB 855# 11502
TO10DN 849# 11271
TO10DT 733#
TO10ER 850# 11271 11298
TO10Q 11183 11296 11300 11302 11362 11386 11396 11478 11538 13588#
TO11 791#
TO11AD 732#
TO11BC 730#
TO11BM 767#
TO11DB 852# 11279
TO11DN 856# 11275
TO11DT 734#
TO11ER 862# 11275 11323
TOTALS 195#
TOUTBF 83# 5515 5518 11950 11953 12360
TPVEC 604#
TRAPVE 602#
TRMTAB 7767
TRTVEC 596#
TRYCTR 10691 10757 13645#
TTALTM 238#
TTBACK 231# 2686
TTBTRM 246# 2926 2948 2967 3012 8905 9053 9221
TTCOCT 234# 2844 5381 5392 5440 5457 5467 7794 7801 9315
9321
TTERM 247# 7644 7759
TTI36 239# 7812
TTIBRK 240# 2027 2838 4498 5386 9088 9299
TTICCL 229#
TTICHR 230# 2097 2922 2942 2963 2983 3008 3046 3492 4100
4103 4820 7131 7455 7489 7503 7553 7569 7582 7614
7721 7728 7765 9679 9696
TTICRA 244# 3996 4014 8897 9036 9297
TTICSR 617#
TTIDBR 616#
TTIDEC 236# 3625 3659 3818 5785 7869
TTILIN 227# 4817 7331 9136
TTILNW 228#
TTIOCT 233# 7790
TTIS36 243# 2812 3004 3753 3763 3795 4202 4397 4402 4452
4456 4494 4504 4875
TTISDL 241# 2089 2684 3590 3623 3657 3750 3816 3826 3858
3950 4043 4096 4107 4200 4395 4492 4873 5353 5378
5454 5465 5544 5782 7788 7810 7867 8894 9019 9205
9313 9319 9677
TTISDO 242# 2796 2806 2836 3836 3863 3983 4017 4045 4110
5546 5794 7818 9078 9102 9108 9145 9152 9188 9194
9208
TTITRM 245# 2823 2893 2902 2934 2956 2975 2987 2997 3053
3063 3072 3079 3405 3412 3444 3496 3543 3556 3598
3638 3674 3683 3871 4250 4427 4445 5589 6085 10503
10927
TTIYES 237#
TTLOOK 232# 4898 7106
TTOCSR 614#
TTOCTE 235# 5356 5437
TTODBR 613#
TTPINI 248# 2003 6240 6809 7328 10378
TXTINH 206#
UPECD 827#
USEVIR 755#
UTLASB 2368 2556 2636 5569
VBIT 576# 7753 8476 8581 8612
VEC02 794#
VEC03 793#
VEC04 792#
VERIFY 5489 5506 9974 10004 10075 10131 10204 10230 10295 10321
13696#
VFUDAT 13620#
VMADAT 13348 13360 13379 13392 13738#
VRBFLG 4428 4430 4438 8379 8402 8418 8582 13736#
VT 674#
WCRAM 356# 4009 9326 10232
WCSAV 10660 10672 10694 13647#
WDRAM 409# 9181 10133
WEP 809#
WFILE 127#
WIRAR 13135
WIRAR1 3006
WREADY 12752 12775 12795 12797 12812 12825 12835 12838 12845 12846
12847 12848 12849 12851 12855 12856 12876 12877 12911 12918
12948 12949 12973 12974 12990 12991 13353 13359 13741#
WRLIST 12837
WRTBAK 13637#
WWADR 358# 8632 9040 10249 12809 12902 13008 13039
XEPT 760# 4615 4620 4635 4676 4713 4808 4853 4861 4938
4990 5018 5051 5067 5084 5134 5166 5250 5268 5330
5342 11498
XMEMSZ 131# 4461
XOFF 684# 6636 7350
XON 685# 6634 7349
XORCR 619#
XORSR 620#
XR 3697# 3719 3722# 3744 4172# 4196 4275# 4307 4310# 4340
4343# 4365 4368# 4390 8489# 8519 8658# 8690 8693# 8723
12450# 12452
XUPT 756#
XXDAT 12622 13739#
ZBIT 575# 7750 8476 8578
ZEROS 13006 13737#
ZSTOP 765#
$$$CC 2123 2128 3652
$$$FF 13480#
$$$NAM 9595 9720#
$$$ST 4251# 5615
$$ACT 9995 10032 10104 10161 10270 10354
$$BARG 13523# 13523 13524# 13524 13525# 13525 13526# 13526 13527# 13527
13528# 13528 13529# 13529 13530# 13530 13531# 13531 13532# 13532
13533# 13533 13534# 13534 13535# 13535 13536# 13536 13537# 13537
13538# 13538 13539# 13539 13540# 13540 13541# 13541 13542# 13542
13543# 13543 13544# 13544 13545# 13545 13546# 13546 13547# 13547
13548# 13548 13549# 13549 13550# 13550 13551# 13551 13552# 13552
13553# 13553 13554# 13554 13555# 13555 13556# 13556 13557# 13557
13558# 13558 13559# 13559 13560# 13560 13561# 13561 13562# 13562
13563# 13563 13564# 13564 13565# 13565 13566# 13566 13567# 13567
13568# 13568 13569# 13569 13570# 13570 13571# 13571 13572# 13572
13573# 13573 13574# 13574 13575# 13575 13576# 13576 13577# 13577
13578# 13578 13579# 13579 13580# 13580 13581# 13581 13582# 13582
13583# 13583 13584# 13584 13585# 13585 13586# 13586 13587# 13587
13588# 13588 13589# 13589 13590# 13590 13591# 13591 13592# 13592
13593# 13593 13594# 13594 13595# 13595 13596# 13596 13597# 13597
13598# 13598 13599# 13599 13600# 13600 13601# 13601 13602# 13602
13603# 13603 13604# 13604 13605# 13605 13606# 13606 13607# 13607
13608# 13608 13609# 13609 13610# 13610 13611# 13611 13612# 13612
13613# 13613 13614# 13614 13615# 13615 13616# 13616 13617# 13617
13618# 13618 13619# 13619 13620# 13620 13621# 13621 13622# 13622
13623# 13623 13624# 13624 13625# 13625 13626# 13626 13627# 13627
13628# 13628 13629# 13629 13630# 13630 13631# 13631 13632# 13632
13633# 13633 13634# 13634 13635# 13635 13636# 13636 13637# 13637
13638# 13638 13639# 13639 13640# 13640 13641# 13641 13642# 13642
13643# 13643 13644# 13644 13645# 13645 13646# 13646 13647# 13647
13648# 13648 13649# 13649 13650# 13650 13651# 13651 13652# 13652
13653# 13653 13654# 13654 13655# 13655 13656# 13656 13657# 13657
13658# 13658 13659# 13659 13660# 13660 13661# 13661 13662# 13662
13663# 13663 13664# 13664 13665# 13665 13666# 13666 13667# 13667
13668# 13668 13669# 13669 13670# 13670 13671# 13671 13672# 13672
13673# 13673 13674# 13674 13675# 13675 13676# 13676 13677# 13677
13678# 13678 13679# 13679 13680# 13680 13681# 13681 13682# 13682
13683# 13683 13684# 13684 13685# 13685 13686# 13686 13687# 13687
13688# 13688 13689# 13689 13690# 13690 13691# 13691 13692# 13692
13693# 13693 13694# 13694 13695# 13695 13696# 13696 13697# 13697
13698# 13698 13699# 13699 13700# 13700 13701# 13701 13702# 13702
13703# 13703 13704# 13704 13705# 13705 13706# 13706 13707# 13707
13708# 13708 13709# 13709 13710# 13710 13711# 13711 13712# 13712
13713# 13713 13714# 13714 13715# 13715 13716# 13716 13717# 13717
13718# 13718 13719# 13719 13720# 13720 13721# 13721 13722# 13722
13723# 13723 13724# 13724 13725# 13725 13726# 13726 13727# 13727
13728# 13728 13729# 13729 13730# 13730 13731# 13731 13732# 13732
13733# 13733 13734# 13734 13735# 13735 13736# 13736 13737# 13737
13738# 13738 13739# 13739 13740# 13740 13741# 13741 13742# 13742
13743# 13743 13744# 13744 13745# 13745 13746# 13746 13747# 13747
13748# 13748 13749# 13749 13750# 13750 13751# 13751 13752# 13752
13753# 13753 13754# 13754 13755# 13755 13756# 13756 13757# 13757
$$BUF 13495# 13496 13523 13523# 13524 13524# 13525 13525# 13526 13526#
13527 13527# 13528 13528# 13529 13529# 13530 13530# 13531 13531#
13532 13532# 13533 13533# 13534 13534# 13535 13535# 13536 13536#
13537 13537# 13538 13538# 13539 13539# 13540 13540# 13541 13541#
13542 13542# 13543 13543# 13544 13544# 13545 13545# 13546 13546#
13547 13547# 13548 13548# 13549 13549# 13550 13550# 13551 13551#
13552 13552# 13553 13553# 13554 13554# 13555 13555# 13556 13556#
13557 13557# 13558 13558# 13559 13559# 13560 13560# 13561 13561#
13562 13562# 13563 13563# 13564 13564# 13565 13565# 13566 13566#
13567 13567# 13568 13568# 13569 13569# 13570 13570# 13571 13571#
13572 13572# 13573 13573# 13574 13574# 13575 13575# 13576 13576#
13577 13577# 13578 13578# 13579 13579# 13580 13580# 13581 13581#
13582 13582# 13583 13583# 13584 13584# 13585 13585# 13586 13586#
13587 13587# 13588 13588# 13589 13589# 13590 13590# 13591 13591#
13592 13592# 13593 13593# 13594 13594# 13595 13595# 13596 13596#
13597 13597# 13598 13598# 13599 13599# 13600 13600# 13601 13601#
13602 13602# 13603 13603# 13604 13604# 13605 13605# 13606 13606#
13607 13607# 13608 13608# 13609 13609# 13610 13610# 13611 13611#
13612 13612# 13613 13613# 13614 13614# 13615 13615# 13616 13616#
13617 13617# 13618 13618# 13619 13619# 13620 13620# 13621 13621#
13622 13622# 13623 13623# 13624 13624# 13625 13625# 13626 13626#
13627 13627# 13628 13628# 13629 13629# 13630 13630# 13631 13631#
13632 13632# 13633 13633# 13634 13634# 13635 13635# 13636 13636#
13637 13637# 13638 13638# 13639 13639# 13640 13640# 13641 13641#
13642 13642# 13643 13643# 13644 13644# 13645 13645# 13646 13646#
13647 13647# 13648 13648# 13649 13649# 13650 13650# 13651 13651#
13652 13652# 13653 13653# 13654 13654# 13655 13655# 13656 13656#
13657 13657# 13658 13658# 13659 13659# 13660 13660# 13661 13661#
13662 13662# 13663 13663# 13664 13664# 13665 13665# 13666 13666#
13667 13667# 13668 13668# 13669 13669# 13670 13670# 13671 13671#
13672 13672# 13673 13673# 13674 13674# 13675 13675# 13676 13676#
13677 13677# 13678 13678# 13679 13679# 13680 13680# 13681 13681#
13682 13682# 13683 13683# 13684 13684# 13685 13685# 13686 13686#
13687 13687# 13688 13688# 13689 13689# 13690 13690# 13691 13691#
13692 13692# 13693 13693# 13694 13694# 13695 13695# 13696 13696#
13697 13697# 13698 13698# 13699 13699# 13700 13700# 13701 13701#
13702 13702# 13703 13703# 13704 13704# 13705 13705# 13706 13706#
13707 13707# 13708 13708# 13709 13709# 13710 13710# 13711 13711#
13712 13712# 13713 13713# 13714 13714# 13715 13715# 13716 13716#
13717 13717# 13718 13718# 13719 13719# 13720 13720# 13721 13721#
13722 13722# 13723 13723# 13724 13724# 13725 13725# 13726 13726#
13727 13727# 13728 13728# 13729 13729# 13730 13730# 13731 13731#
13732 13732# 13733 13733# 13734 13734# 13735 13735# 13736 13736#
13737 13737# 13738 13738# 13739 13739# 13740 13740# 13741 13741#
13742 13742# 13743 13743# 13744 13744# 13745 13745# 13746 13746#
13747 13747# 13748 13748# 13749 13749# 13750 13750# 13751 13751#
13752 13752# 13753 13753# 13754 13754# 13755 13755# 13756 13756#
13757 13757# 13758 13761 13766
$$C1 4816
$$C2 12004
$$CF 3691 8787
$$CI 3681
$$CLC 2020# 2020 2026# 2026 2082# 2082 2831# 2831 2898# 2898
2931# 2931 2939# 2939 2953# 2953 2961# 2961 2972# 2972
2980# 2980 2992# 2992 3017# 3017 3058# 3058 3068# 3068
3076# 3076 3107# 3107 3155# 3166 3172# 3185 3191# 3204
3210# 3222 3228# 3240 3246# 3259 3265# 3280 3286# 3301
3307# 3323 3329# 3343 3349# 3363 3369# 3381 3387# 3399
3409# 3409 3416# 3416 3459# 3459 3474# 3474 3487# 3487
3551# 3551 3610# 3610 3652# 3652 3808# 3808 3956# 3956
4055# 4055 4085# 4085 4119# 4119 4133# 4133 4159# 4159
4165# 4165 4412# 4412 4435# 4435 4443# 4443 4488# 4488
4533# 4533 4612# 4612 4729# 4729 4736# 4736 4771# 4771
4782# 4782 4816# 4816 4870# 4870 5079# 5079 5339# 5339
5672# 5672 5677# 5677 6089# 6089 6260# 6260 6399# 6399
6412# 6412 6429# 6429 6851# 6851 7286# 7286 7304# 7304
7899# 7899 7905# 7905 7911# 7911 7924# 7924 7930# 7930
7937# 7937 8260# 8260 8308# 8308 8408# 8408 8435# 8435
8441# 8441 8447# 8447 8454# 8454 8587# 8587 8592# 8592
8597# 8597 8973# 8973 9116# 9116 9127# 9127 9135# 9135
9169# 9169 9243# 9243 9952# 9952 10073# 10073 10082# 10082
10571# 10571 10599# 10599 10765# 10765 10768# 10768 10775# 10775
10785# 10785 10898# 10898 10935# 10935 10944# 10944 10951# 10951
10975# 10975 11349# 11349 11971# 11971 11976# 11976 11980# 11980
11985# 11985 11989# 11989 12492# 12492 12497# 12497 12505# 12505
12509# 12509
$$CLIT 427# 2019 2020 2020# 2025 2026 2026# 2081 2082 2082#
2830 2831 2831# 2897 2898 2898# 2930 2931 2931# 2938
2939 2939# 2952 2953 2953# 2960 2961 2961# 2971 2972
2972# 2979 2980 2980# 2991 2992 2992# 3016 3017 3017#
3057 3058 3058# 3067 3068 3068# 3075 3076 3076# 3106
3107 3107# 3156 3165# 3173 3184# 3192 3203# 3211 3221#
3229 3239# 3247 3258# 3266 3279# 3287 3300# 3308 3322#
3330 3342# 3350 3362# 3370 3380# 3388 3398# 3408 3409
3409# 3415 3416 3416# 3458 3459 3459# 3473 3474 3474#
3486 3487 3487# 3550 3551 3551# 3609 3610 3610# 3651
3652 3652# 3807 3808 3808# 3955 3956 3956# 4054 4055
4055# 4084 4085 4085# 4118 4119 4119# 4132 4133 4133#
4158 4159 4159# 4164 4165 4165# 4411 4412 4412# 4434
4435 4435# 4442 4443 4443# 4487 4488 4488# 4532 4533
4533# 4611 4612 4612# 4728 4729 4729# 4735 4736 4736#
4770 4771 4771# 4781 4782 4782# 4815 4816 4816# 4869
4870 4870# 5078 5079 5079# 5338 5339 5339# 5671 5672
5672# 5676 5677 5677# 6088 6089 6089# 6259 6260 6260#
6398 6399 6399# 6411 6412 6412# 6428 6429 6429# 6850
6851 6851# 7285 7286 7286# 7303 7304 7304# 7898 7899
7899# 7904 7905 7905# 7910 7911 7911# 7923 7924 7924#
7929 7930 7930# 7936 7937 7937# 8259 8260 8260# 8307
8308 8308# 8407 8408 8408# 8434 8435 8435# 8440 8441
8441# 8446 8447 8447# 8453 8454 8454# 8586 8587 8587#
8591 8592 8592# 8596 8597 8597# 8972 8973 8973# 9115
9116 9116# 9126 9127 9127# 9134 9135 9135# 9168 9169
9169# 9242 9243 9243# 9951 9952 9952# 10072 10073 10073#
10081 10082 10082# 10570 10571 10571# 10598 10599 10599# 10764
10765 10765# 10767 10768 10768# 10774 10775 10775# 10784 10785
10785# 10897 10898 10898# 10934 10935 10935# 10943 10944 10944#
10950 10951 10951# 10974 10975 10975# 11348 11349 11349# 11970
11971 11971# 11975 11976 11976# 11979 11980 11980# 11984 11985
11985# 11988 11989 11989# 12491 12492 12492# 12496 12497 12497#
12504 12505 12505# 12508 12509 12509# 13477 13480 13482 13489
$$CLRF 8387
$$CMDE 5364 5466 5480
$$CNTL 1858
$$CONS 1860 2022 2026 2092
$$COR 9990 10025 10098 10349
$$DFX1 12532
$$DFXD 8773 12565 12596 12739 12744 12746 12887 12904 13078 13203
13211 13216 13227 13241 13245
$$DTX 10675 10682
$$DTXC 10663 10676
$$DVX 10534 10552 10582 10650
$$ECA 8931 8974 9044
$$FF 6325
$$GO 10970 11965
$$ILOA 1859
$$LD11 9985 10020 10092
$$LITT 427 13479#
$$NAM 9722
$$P23 6891 6913
$$PARA 5387 5463
$$PEX 6851 6857 6992
$$PEX1 7035
$$PEX2 7085 7116# 7132 7136 7153
$$PEX3 7161 7166 7172
$$PEX4 7722 7743 7761 7774 7792 7797 7804# 7814 7820
$$PEX5 7749 7751 7754 7776
$$PEX6 7480 7532
$$PEX7 7476 7533
$$PMSG 7987
$$PMSR 7988
$$PNTX 6513 6556 6576 6586 6602
$$PSX2 7084 7119# 7134 7138 7155
$$RAM 10155 10264
$$ST 4203#
$$STJR 3600 3601 3613 4205 4239 12417 13557#
$$STKM 7945 13496#
$$SVSP 2709 2712 2719 2725 13722#
$$SWR 5038 5222 5223 13556#
$$TDX 4669 4764
$$TEN 10344 10370
$$ZZQ 3158# 3169 3175# 3188 3194# 3207 3213# 3225 3231# 3243
3249# 3262 3268# 3283 3289# 3304 3310# 3326 3332# 3346
3352# 3366 3372# 3384 3390# 3402
$0FLG 6874 6941 6983 7194 7248 7253 7264 7266 7546 7561
7564 7568 7580 7597 7613 7622 13686#
$10ADR 8341 8360 8553
$11ADR 11339
$11ECH 11337
$11ETH 11338
$99 11426
$ADR 9082 9127 9164 9176 9298 9324 13700#
$ADR1 8926 8933 8956 8968 8987 9001 13701#
$ALADX 2957# 3518
$ALARX 2935# 3516
$ALBRX 2976# 3517
$ALLAD 2949# 3511
$ALLAR 2927# 3509
$ALLBR 2968# 3510
$ALLEB 3525
$ALLEC 3507 8907#
$ALLFE 3519
$ALLFM 2903# 3524
$ALLMQ 2894# 3523
$ALLPC 3013# 3513 4776
$ALLPI 3445# 4778
$ALLSC 3512
$ALPCF 3080# 4782
$ALPIG 3446 3529
$ALPIH 3447 3530
$ALPIO 3448 3531
$ALPIX 3482
$ALPIY 3489
$ALSTA 3551 4771
$ALVMA 3054# 3520 4777
$ALVMH 3064# 3526
$ASCR5 8113
$BELLT 13433
$BKFLG 13549#
$BUFRC 10272 12906 12962 12963 13743#
$BURST 8067
$CKS11 10052 10068 10114 10533 13642#
$CKSUM 2011 6167
$CLKHM 5183 5187
$CLKMD 5182 5185 5195
$CLKPR 8142
$CLKSE 5184 5189
$CLKST 5180
$CLKTV 6229
$CMCLR 4243 5599
$CMDE 5485 5548 10511
$CMDER 2052 2090 2633 2692 5580 5679 6478 10385 10387
$CMP36 8008
$CMTAG 6315 13618#
$CNTLC 2831 3610 3808 4165 4870 5079 5339 5688 7312 7925
8308 9116 9169 9723 9952 10073 10373 10571 10599 10669
10898 10935 10944 10975 11971 12500
$COMNT 2585
$CONSL 3834 3873 3981 4080 4153 4772 5445 5618 5790 6091
6467 10520 11955 11966
$CRMD0 8976
$CRTBL 13432
$D10AD 8344 8367
$D10MO 8051
$D10ZR 8052
$D10ZX 8482
$DC 2525
$DCNCL 9300 9304
$DCTP1 9000
$DD 3592
$DDA 9096 9139
$DDB 9099 9142
$DDNPR 9089 9094 9137
$DDRMS 13167 13170 13178 13749#
$DDSIZ 9112# 9155
$DDT 91# 1910
$DDTER 3621
$DDTX 2528
$DECN 5786
$DELAY 8012
$DFADB 8063
$DFERR 2798 2808 2810 2839 2855 2857 2921 3061 3500 3596
3810
$DFLEG 8178
$DFPC 8061
$DFPC1 13336
$DFRD 8056
$DFRDM 8057
$DFRDT 8074
$DFSCL 8060
$DFTIM 12482 12555 12581 12643
$DFTM1 4412 4488 4533 4729
$DFTMX 12510
$DFVMA 8062
$DFVMH 8082
$DFWIR 8059
$DFWRT 8058 12679
$DFXCT 8054 12526
$DFXFS 12729 12749 13015
$DFXX 12650
$DI 2613
$DIAFX 5305
$DIASX 2730# 5287
$DISPH 2117
$DPER1 2984 2986 3009 3047 3052
$DPERR 2923 2943 2964
$DPOS 8047
$DPOST 8048
$DPOSV 8049
$DPOSX 8337
$DPSVT 8050
$DPSX1 8326
$DPVRE 8562
$DPVRP 8558
$DPVRV 8567
$DPVRX 8576 8579
$DPVRY 8583
$DRAM 4235 4453 4454 4458 4462 4475 4482 4517 5094 5105
5143 5323 5333 7594 7629 7640 7641 7650 7661 7665
7672 8368 8565 8597 9097 9100 9107 9118 9120 9140
9143 9151 9157 9159 9160 9161 9162 9171 9174 9177
13748#
$DRAMA 8066
$DS 2629
$DT 2608
$DTAFI 8147
$DTBAS 8157
$DTBL 7054 7058
$DTBL0 6672 6678
$DTBL1 6680
$DTC 5545
$DTCHR 108# 5270
$DTCLK 99# 5069
$DTCMD 105# 4678
$DTDI1 10452
$DTDI2 10472# 10501
$DTDIR 10506
$DTEBA 8053
$DTF11 104# 4617 4810 4855 4940 4992 5332 5344
$DTFLG 98# 4715
$DTINF 10665
$DTINI 8094
$DTMTD 109# 4637
$DTMTI 110# 4622
$DTNOP 11335 11340
$DTOPR 107#
$DTQMP 112# 11500
$DTRDF 8155
$DTREA 8103
$DTRFL 10654
$DTSEQ 106#
$DTSWR 111# 4863 5252
$DTT11 103# 5020 5086 5136
$DTTIM 102# 5053 5168
$DTWRT 8145
$DTWTF 8156
$DTX 5592
$DTXF1 10759
$DTXF2 10700
$DTXF3 10729 10733 10736 10740 10743 10747 10749 10758 10780
$DTXFR 10686
$DVDAT 8102
$DVFRA 8111
$DVWRD 8112
$DWRTT 8075
$DXCTT 8055
$EBPAR 4536 4683
$EC 2524
$ECADR 3997 4008 4015 4022 8901 8912 8919 8922 8955 8960
8961 8962 8963 8967 9037 9038 9066 13698#
$ECGET 8910 8915
$ECHRY 11336
$ECLOK 8071
$ECMD 4679 4686 11437 13734#
$ECTIM 3666 3775 3783
$ED 2527
$EDADR 9211 9217 9222 9225 9232 13699#
$EDODD 9210
$EMADR 6861 7824 7831 7844 7850 7950 8288 8333 8619 10604
10801 12466 12524 12675 13720#
$EMTAD 7953 7956
$EMTAE 7953 8208#
$EMTRP 6204
$ENBCC 11341
$END 8979
$ENDCT 4244 13612#
$EOLFL 13681#
$EOP 8015
$EOPCT 13613#
$EOPSE 8017
$EOR 7899 7905
$EOR2 7915 7937
$ERFLG 13616#
$ERREO 8016
$ERRHL 7967
$ERRPC 13614#
$ERTTL 13615#
$ESYNC 8072
$EXAM 8045
$EXAMT 8046
$EXAMX 8361
$EXDEP 8358
$EXIT 2718 2746 3536 3648 5257 6407 6525 6702 6949 7074
7121 7179 7298 7717 7806 7863 8286 8484 8571 8601
8615 8648 8744 8764 8802 9015 9291 9718 10471 10588
10667 10789 10829 12456 12486 12558 12598 12671 12763 12792
12854 12967 13024 13052 13071 13115 13137 13189 13229 13261
13273 13394
$EXITE 2724 2748 5259 7118 7262 7484 7646 7724 8653 8806
10479 10555 10656 10769 10832 13249
$EXITS 7829
$FAD 9342
$FAR 9338
$FATAL 7966 8029 8030 8031 8032 8033 8034 8089 8099 8108
8128 8129 8130 8131 8132 8133 8134 8135 8152 8171
8172 8173 8174 8193 8194 8195 8196 8197 8198 8199
8205
$FATLE 6184
$FBR 9346
$FCOND 9386
$FFE 9366
$FFM 9354
$FILPL 5797
$FJ 9330
$FMEM 9382
$FMQ 9350
$FNUM 9374
$FORCE 2140 2143 4832 6590 7171 7177 7186 7207 7261 7276
7287 7297 13684#
$FSC 9362
$FSCAD 9358
$FSH 9370
$FSTKB 5876 5888 7399
$FSTKS 2058 5852 5877 5907 5928 5941 5970 6219 6224 7394
7397 7418 7441 8234 8237 8858
$FSTPB 5968 7444
$FSTPS 5929 5958 5963 5964 5974 7421
$FSTRV 6220
$FSTTV 6221
$FT 9334
$FVMA 9378
$GO 2592
$HELP 2574
$HELP1 5510
$HU 2565
$IFILE 2624
$IIX 5516
$ILDCL 6159 6160 6234 13605#
$ILDSU 2013 2016 6168 13540#
$ILLUP 8216
$ILOAD 13774
$INBUF 2049 2084 2708 2729 2761 2783 5283 5288 6580 6581
7152 7186 7208 7271 7295 9756 9775 11922 12349 13663#
$INPTC 2049 2708 2784 4547 5288 5310 5317 5319 5320 5428
5582 6580 7078 7080 7081 7152 7154 7295 7488 7497
7575 7579 7620 7720 7742 7758 7764 8902 9050 9218
9757 9794 13662#
$INPTR 2084 2736 2789 5310 5317 6581 7078 7259 7294 9784
13661#
$ITERA 13611#
$JC 2626
$JFILE 2625
$KA 2631
$KDCEN 2095 2105 2109 2114 2118 6321
$KDCRE 2110 2117
$KLCK1 12469 12618
$KLCK2 12484
$KLCK3 12588
$KLCK4 12570 12586
$KONS1 2028 2045 2098 2100
$KONS2 2073 2770
$KONSL 2818 3007 3452 3499 3587 3633 3669 3790 3852 4010
4407 4480 4527 4880 5421 5478 5552 7877 9034 9184
9236 9327
$KONSP 1997 1999 2075 6236 7333 7920 13693#
$LDB 2579
$LDBNE 10082
$LDD 2582
$LDE 2577
$LDR 2578
$LDT 2576
$LFTBL 13431
$LINER 9777 12362
$LLD2 10150 10212 10246# 10251 10308 10332
$LODAR 8044
$LRDIN 10325# 10358 10366
$MBPHS 13253
$MC 2515
$MICFI 8144
$MICNU 8143
$MPHDF 13270 13308 13560#
$MPHMK 13271 13311 13559#
$MRESE 8040
$MULTP 8036
$NAMEX 8146
$NB 74#
$NEG 7547 7551 7577 7600 7624 7636 13687#
$NEXT 8982
$NONXF 10399
$NOTAS 7954 8211
$OCTN 9186 9201
$ONETM 5692 6250 12402 12414 13539#
$OUTBF 2705 4798 4893 5285 6547 6573 6583 7190 10379 13667#
$OUTPC 13664#
$OUTPP 6585 6600 6605 7245 13666#
$OUTPT 2706 4798 4893 5286 6541 6545 6547 6573 6575 6584
6600 7190 13665#
$P18X 6896 6909 6929#
$P23X 6877 6917 6932#
$P23Y 6893
$P36B 8070
$P36BX 6923
$P36MV 6898 6905 6921 6927
$PADR 8073
$PAGDF 12422
$PARA 3854 4391 5484 5808
$PARAM 4050 4167 5783 7755 9075 9294
$PASS 13617#
$PBELL 8003
$PCMDX 2707
$PCOMM 7994
$PCRAM 8076
$PCRLF 7991
$PCSAV 13711#
$PDRAM 8077
$PEAR 3963
$PECR 3971 4755
$PEDR 3975 4762
$PEFM 3967 4748
$PEFS 3979 4741
$PFORC 8001
$PGWID 5780 6242 6609 13676#
$PH1 7931
$PH2 6399
$PLDBU 8092
$PMSG 255# 2018 2024 2080 2760 2829 3015 3056 3066 3074
3105 3457 3472 3485 3549 3608 3650 3806 3954 3962
3966 3970 3974 3978 4053 4083 4117 4131 4157 4163
4410 4433 4441 4486 4531 4610 4682 4727 4734 4740
4747 4754 4761 4769 4780 4814 4868 5077 5337 5670
5675 6087 6258 6397 6410 6427 6849 7284 7302 7897
7903 7909 7922 7928 7935 8258 8306 8406 8433 8439
8445 8452 8585 8590 8595 8971 9114 9125 9133 9167
9241 9721 9950 9984 9989 9994 10019 10024 10031 10071
10080 10091 10097 10103 10154 10160 10263 10269 10343 10348
10353 10369 10487 10492 10569 10597 10763 10766 10773 10783
10896 10933 10942 10949 10973 11347 11969 11974 11978 11983
11987 12490 12495 12503 12507
$PMSGR 256# 2896 2929 2937 2951 2959 2970 2978 2990 3407
3414 4535
$PNORM 8002
$PNT18 7998
$PNT23 7999
$PNT36 8000
$PNTAL 6500 6507 7986
$PNTBA 8139
$PNTCH 6528 6531 6534 6537 7989
$PNTCI 8158
$PNTCP 8068
$PNTDE 7997
$PNTNB 7990
$PNTO 6996
$PNTOC 7995
$PNTOD 8004
$PNTOS 7996
$PNTRS 8159
$PNTSP 7146 8999
$PODCD 6875
$PODMV 6873
$PODT 8005
$PRGCM 8069
$PRGHL 7968
$PRGNP 8160
$PRGXX 2697
$PRINT 8083
$PRNTH 6609 6685 6688 6691 6704 6711 13675#
$PROG 2575
$PROG1 5492
$PROG2 5495 5497 5499 5501 5503
$PROL3 6991 8080
$PRT36 6936
$PSLAS 7993
$PSPAC 7992
$PSSAV 6424 6485 13712#
$PTAB 8179
$PTCO 6819
$PTTY 8084
$PTTY1 6655
$PTTY2 6666
$PTTYC 2047 6631
$PWRCN 8240 8260 13541#
$PWRDN 6199 8227
$PWRUP 8214
$QCLR 11534 11537 11540
$QUEUE 11182 11361 11367 11385 11395
$R0SAV 6416 6435 13719#
$R1SAV 13718#
$R2SAV 13717#
$R3SAV 13716#
$R4SAV 13715#
$R50UP 8093
$R5SAV 6417 13714#
$RC 2526
$RCP 9024 9026 9028 9030
$RCRAM 8038
$RDLST 12907
$RDRAM 8064
$REGRS 8007
$REGSA 8006
$RESVD 6198
$RLCB 11404
$RN 2507
$RNN 3615 4245
$RNX 3552
$RP 2690 2692#
$RPINF 13638#
$RPT 2030 2032 2034 2050 2083 2094 2682 2710 2762 7334
$RQCB 11413
$RUNLP 4489 4626 4628 7969
$SAV20 4140 4151 13735#
$SAVAL 11605
$SAVRG 11269 11684 11748
$SAVVR 11070 11137 11213 11293 11317 11430 11462 11475 11517
$SBRIN 1857
$SETFL 8011
$SETMP 8081
$SHFTL 8010
$SHFTR 8009
$SHFTX 7835 7840 7846 7856
$SI 2508
$SM 8042
$SMERR 8741
$SMRLS 12884
$SMTAB 8637
$SP 2506
$SPCMR 12771 13134
$SPSAV 6425 6453 6484 13713#
$SQASH 12917
$ST 2512
$STD 90# 1907
$STDAT 13193 13750#
$STERR 4214 4218 4229 4238 4241
$STJRS 12416
$STL 92# 1913
$STM 93# 1916
$STMT1 13271
$STMTB 13270
$STODD 13268 13314 13558#
$STRCH 12836
$STTB1 4226
$STUF 1993 7946
$SVH 7544 7609 7633 13688#
$SVM 7545 7610 7631 13689#
$SW 2513
$SWITC 8013
$SWMON 13605#
$SWS10 5223 5225 5229 13555#
$SWTCH 7160 7165 13721#
$SWTSA 8014
$TADSP 2001 4615 4620 4635 4676 4713 4808 4853 4861 4938
4990 5018 5051 5067 5084 5091 5102 5134 5147 5157
5166 5250 5268 5330 5342 8376 8377 8557 8560 11498
13756#
$TBLL 7525
$TCX 5255# 5264 5266 5273
$TEMP0 8345 13705#
$TENCH 8138
$TENRN 4404 4508
$TENSP 8041
$TENSW 8079
$TF 2555
$TI36C 4234 5308 7543 7611
$TIALT 7359 7360 7361
$TIBEL 7326 7358 7368 7369
$TIBKS 7365
$TICC 4470 6812 7332 7364 10716
$TICHR 4468 4606 6803 7097 7220 7377 7378 7382 7399 8266
10711 13690#
$TICL 7362
$TICO 7367
$TICR 7356
$TICRA 7983
$TICU 7363
$TICX 6836 7370
$TIEXT 7304 7321
$TILF 7357
$TILN1 7209# 7280 7307 7315 7317
$TILN2 7187 7218#
$TILN3 7184 7205
$TILNX 7201 7276 7287
$TILRN 4602
$TIMOT 6197 6248
$TIRDY 4466 4584 4600 6801 7095 7216 8264 10709
$TIRUB 7366
$TKB 7375 7377
$TKS 7373
$TMINU 7454 7502 7548
$TNBUF 4791 4792 4819 4825 13670#
$TNCHR 5271 6805 7222 13671#
$TNPTC 4791 4800 4803 4805 4825 13669#
$TNPTR 4792 4800 4824 13668#
$TOCHR 4646 6664 6698 6823 7433 7444 13691#
$TOCTE 8140
$TOOUT 4647 6665 6699 6827
$TORDY 4590 6624 6662 6696 6821
$TP 2553
$TPB 7433
$TPLIN 5777 6645 6647 13677#
$TPLIT 6616 6647 6649 7193 13678#
$TPS 7408
$TPW 5778
$TPWF 5801
$TTALT 7977
$TTBAC 8078
$TTBTR 7985
$TTCOC 7974
$TTERM 7482 7642 8141
$TTI36 7978
$TTIBR 7979
$TTICC 8177
$TTICH 7971
$TTIDE 7975
$TTILI 4558 4612 7970
$TTILN 8176
$TTIOC 7973
$TTITR 7984
$TTIX1 7099
$TTIX2 7079 7096
$TTIYE 7976
$TTLKF 2131 4896 6565 6799 7093 7098 13682#
$TTLOO 7972
$TTPIN 8161
$TTS36 7982
$TTSAV 6870 6975 7501 7520 9305 9323 9325 13674#
$TTSDL 7731 7733 7980
$TTSDO 7981
$TTSDX 7729 7760 7789 7791 7796 7803 7811 7813
$TTYFL 5799 6090 6243 6681 13685#
$TTYIN 13673#
$TTYTI 5037 7195 7213 7219 13709#
$TW 2554
$VB 2630
$VB1 4429
$VBX 4435 4443 4447
$VERIF 2584
$VMPC 13340
$VMPC1 13342
$WCRAM 8037
$WDRAM 8065
$WWADR 8039
$XCT 8043
$XOFLG 13679#
%%DDT 63# 81 6173 6206 6470 6473
%%EOP 2227 2516 6329 6336
%%QMP 68# 4570 4573 4576 4711 4712 4721 6179 6189 6294
6308 10988 12716 13573
%0 581
%1 582
%2 583
%3 584
%4 585
%5 586
%6 587 588
%7 589
%DDTS 82#
.AC 2514
.AD 2540
.ADB 2947
.ALL 2547
.AR 2536
.BC10 11494 13532#
.BC11 11433 11453 13531#
.BR 2537
.BU 2510
.CCMN1 3868
.CE 2548
.CEP 4062 4067 4072 4077
.CF 2550
.CI 2549
.CIF 3692
.CNERR 4261 4420 4499
.CNSER 3793
.CR 2533
.CS 2532
.CSR 3830# 3861
.CSRER 3838 3865 3985 4019
.DA 2498
.DAT1 3112 3477 3605 8321 8353 8385 8392 8424 8463 8794
8961 12631 12654 12955 13535#
.DAT2 2910 3113 3421 3429 3462 3476 8322 8386 8391 8425
8429 8435 8441 8462 8784 8960 12628 12653 12954 13081
13090 13107 13300 13536#
.DAT3 4738 4745 4752 4759 8323 8387 8390 8426 8461 8468
8753 12625 12652 12663 12736 12912 13295 13305 13311 13537#
.DAX 2999
.DB 2522
.DE 2520
.DEB 5449
.DELAY 6159 11612 12407 12454 13538#
.DFDP 2899 2919 2932 2940 2954 2962 2973 2981 2993
.DFRD 2496
.DFRDA 2858 2876 2881 9056 13702#
.DFWRT 2495
.DFX 2801 2826 2880 2890
.DFXCT 2494
.DIAG1 3777 3787 4422 4561 4565 8381 8420 8737 8772 8776
12473 12476 12531 12546 12549 12564 12571 12575 12587 12595
12632 12648 12738 12743 12745 12886 12903 13077 13202 13210
13215 13226 13240 13244 13246 13526#
.DIAG2 12715 13525#
.DIAG3 13523#
.DP 2502
.DPCM1 4406
.DPCOM 4419
.DPNX 2504
.DPNX1 4417
.DPS 4396
.DPXAD 4394 4414 4490 4544 8316 10304 13703#
.EADR 5376 5453 13697#
.EB 2521
.EE 2519
.EEB 5372
.ERG 2545
.EXCOM 4501 4525 4540 4550
.EXM 2501
.EXMN1 4543
.EXMNX 2503 4539
.EXMSP 4493
.FE 2544
.FM 2539
.FS 2497
.HC 2622
.HCADR 6423 6429 6486 13731#
.HCFLG 6414 6465 6476 6479 13730#
.MM 2529
.MMC 3991
.MMX 4004 4033
.MQ 2538
.MRESE 2500
.MT 2531
.MU 2530
.MZ 2505
.PC 2541
.PCF 3011
.PD 2534
.PE 2535
.PI 2546
.PL 2509
.PLX 3677 3687
.RI 2623
.RPT 2493
.RPTP 2551
.RPTX 2688
.SC 2543
.SE 2518
.SM 2511
.STDTE 4627 5071 8371 8396 8474 11270 11282 11294 11318 11502
11613 12637 12718 13524#
.T10AD 11493 13530#
.T10DT 13528#
.T11AD 11447 13529#
.T11DT 13527#
.TD 2552
.TENA1 8393 12633 13534#
.TENA2 8394 12634 13533#
.VM 2542
.VMH 3051
.XCT 2499
.XCT1 3761
.XCT2 3758 3803 3821
.XCTER 3546 3616 3676 3686 3748 3756 3766 3798 3848 4265
10294
.ZE 2523
CALL 11012# 11063 11080 11082 11093 11132 11144 11172 11178 11264
11273 11277 11303 11354 11370 11376 11379 11403 11412 11425
11441 11504 11625 11637 11815 11834 11850
EXIT 467# 2717 2745 3535 3647 5256 6406 6524 6701 6948
7073 7120 7178 7297 7716 7805 7862 8483 8570 8600
8614 8647 8743 8763 8801 9014 9290 9717 10470 10587
10666 10788 10828 12455 12485 12557 12597 12670 12762 12791
12853 12966 13023 13051 13070 13114 13136 13188 13228 13260
13272 13393
EXITER 475# 2723 2747 5258 7117 7261 7483 7645 7723 8652
8805 10478 10554 10655 10768 10831 13248
EXITSK 471# 7828
EXOR 554#
I10 971# 12435
INFORM 13413# 13469 13482 13766
IO10 1010# 3694 3719 4169 4272 4307 4340 4365 8486 8655
8690
MULT 496#
PCFTE 3147# 3153 3170 3189 3208 3226 3244 3263 3284 3305
3327 3347 3367 3385
PMSG 430# 2017 2023 2079 2828 3014 3055 3065 3073 3104
3456 3471 3484 3548 3607 3649 3805 3953 4052 4082
4116 4130 4156 4162 4409 4431 4439 4485 4530 4609
4726 4733 4768 4779 4813 4867 5076 5336 5669 5674
6086 6257 6396 6409 6426 6848 7283 7301 7896 7902
7908 7921 7927 7934 8257 8305 8405 8432 8438 8444
8451 8584 8589 8594 8970 9113 9124 9132 9166 9240
9949 10070 10079 10568 10596 10762 10765 10772 10782 10895
10932 10941 10948 10972 11346 11968 11973 11977 11982 11986
12489 12494 12502 12506
PMSGR 442# 2895 2928 2936 2950 2958 2969 2977 2989 3406
3413
PNTMSG 454#
POP 488# 2142 3034 3532 4125 4159 4230 5043 5072 5114
5127 5209 5210 5211 5212 5272 5863 5864 5937 5938
5965 6031 6032 6033 6405 6546 6568 6601 6971 7246
7260 7275 7286 7296 7715 7773 7775 7891 7913 8292
8389 8390 8391 8392 8413 8414 8459 8460 8461 8462
8463 8473 8559 8568 8569 8587 8592 8613 8641 8646
8650 8651 8800 8804 8829 8852 8914 9821 9999 10037
10099 10116 10355 10468 10473 10649 10717 10827 10830 11349
11352 11454 11503 11563 11598 11641 11785 11817 11818 11819
11820 11821 11822 11836 11837 11838 11852 11853 11854 12649
12669 12761 12783 12790 12890 12942 13063 13101 13113 13176
13391
PUSH 480# 1995 2139 3027 3504 4115 4155 4227 5040 5066
5109 5122 5176 5177 5178 5179 5267 5850 5851 5932
5933 5956 5957 5978 5979 5980 6395 6401 6540 6566
6589 6957 7185 7206 7242 7679 7763 7881 7882 7883
7895 7901 7907 7914 7933 7947 8210 8383 8384 8385
8386 8404 8409 8422 8423 8424 8425 8455 8467 8555
8556 8564 8605 8629 8638 8767 8810 8848 8911 9811
9983 10015 10090 10112 10342 10437 10603 10708 10800 11344
11431 11463 11476 11559 11586 11606 11762 11808 11809 11810
11811 11812 11830 11831 11832 11846 11847 11848 12619 12662
12702 12766 12779 12882 12932 13061 13074 13174 13346
QCLR 11037# 11533 11536 11539
QUEUE 11032# 11181 11360 11366 11384 11394
RETURN 11016# 11084 11095 11099 11121 11125 11200 11207 11222 11283
11305 11331 11356 11363 11372 11387 11397 11405 11418 11506
11550 11642 11726 11788 11792 11823 11839 11855
SAVAL 11020# 11604
SAVRG 11028# 11268 11683 11747
SAVVR 11024# 11069 11136 11212 11292 11316 11429 11461 11474 11516
SL 522# 4690 4839 4907 4967 5095 5198 7234 7955 9843
9851 9873 10891 10913 10914
SR 538# 3829 5142 6687 6690 6960 6964 9173 13222
WD22 994#
WD36 959# 12432
WFONE 1057# 12635
WFZERO 1040# 12474 12547 12573
.BUFB 13512# 13600 13663 13667 13670 13674
.BUFW 13499# 13523 13524 13525 13526 13527 13528 13529 13530 13531
13532 13533 13534 13535 13536 13537 13538 13539 13540 13541
13542 13543 13544 13545 13546 13547 13548 13549 13550 13551
13552 13553 13554 13555 13556 13557 13558 13559 13560 13561
13562 13563 13564 13565 13566 13567 13568 13569 13570 13571
13572 13573 13574 13575 13576 13577 13578 13579 13580 13581
13582 13583 13584 13585 13586 13587 13588 13589 13590 13591
13592 13593 13594 13595 13596 13597 13598 13599 13601 13602
13603 13604 13605 13606 13607 13608 13609 13610 13611 13612
13613 13614 13615 13616 13617 13618 13619 13620 13621 13622
13623 13624 13625 13626 13627 13628 13629 13630 13631 13632
13633 13634 13635 13636 13637 13638 13639 13640 13641 13642
13643 13644 13645 13646 13647 13648 13649 13650 13651 13652
13653 13654 13655 13656 13657 13658 13659 13660 13661 13662
13664 13665 13666 13668 13669 13671 13672 13673 13675 13676
13677 13678 13679 13680 13681 13682 13683 13684 13685 13686
13687 13688 13689 13690 13691 13692 13693 13694 13695 13696
13697 13698 13699 13700 13701 13702 13703 13704 13705 13706
13707 13708 13709 13710 13711 13712 13713 13714 13715 13716
13717 13718 13719 13720 13721 13722 13723 13724 13725 13726
13727 13728 13729 13730 13731 13732 13733 13734 13735 13736
13737 13738 13739 13740 13741 13742 13743 13744 13745 13746
13747 13748 13749 13750 13751 13752 13753 13754 13755 13756
13757
.LIT 511# 3154 3171 3190 3209 3227 3245 3264 3285 3306
3328 3348 3368 3386